diff options
-rw-r--r-- | src/plugins/dpdk/device/flow.c | 5 | ||||
-rw-r--r-- | src/plugins/dpdk/device/init.c | 6 |
2 files changed, 4 insertions, 7 deletions
diff --git a/src/plugins/dpdk/device/flow.c b/src/plugins/dpdk/device/flow.c index becd39704b8..31818f1c447 100644 --- a/src/plugins/dpdk/device/flow.c +++ b/src/plugins/dpdk/device/flow.c @@ -368,11 +368,10 @@ format_dpdk_flow (u8 * s, va_list * args) return s; } - fe = vec_elt_at_index (xd->flow_entries, private_data); - - if (!fe) + if (private_data > vec_len (xd->flow_entries)) return format (s, "unknown flow"); + fe = vec_elt_at_index (xd->flow_entries, private_data); s = format (s, "mark %u", fe->mark); return s; } diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index bd249e91b28..f0907795255 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -701,7 +701,7 @@ dpdk_lib_init (dpdk_main_t * dm) } if (dm->conf->no_tx_checksum_offload == 0) - if (xd->flags & DPDK_DEVICE_FLAG_TX_OFFLOAD) + if (xd->flags & DPDK_DEVICE_FLAG_TX_OFFLOAD && hi != NULL) hi->flags |= VNET_HW_INTERFACE_FLAG_SUPPORTS_TX_L4_CKSUM_OFFLOAD; dpdk_device_setup (xd); @@ -1605,9 +1605,7 @@ dpdk_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f) xd = &dm->devices[j]; } } - ASSERT (xd != NULL); - - if (xd->pmd == VNET_DPDK_PMD_BOND) + if (xd != NULL && xd->pmd == VNET_DPDK_PMD_BOND) { u8 addr[6]; dpdk_portid_t slink[16]; |