summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/dpdk/device/flow.c5
-rw-r--r--src/plugins/dpdk/device/init.c6
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];