aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Mazur <mkm@semihalf.com>2018-01-29 20:59:47 +0100
committerMichal Mazur <mkm@semihalf.com>2018-01-29 21:30:25 +0100
commitf4ee2e1317bcd182e513b0547aacb387c4feb256 (patch)
tree79b348046596f8e301fc4bc6aa0d565479d2e7bd
parent236d93cff3b34bb71e448f3c57af5b94589941cb (diff)
plugins: odp: Fix deletion of IF with more Rx queues
Change-Id: I5abeddbc20da4528e811537d071de96a2800e016 Signed-off-by: Michal Mazur <mkm@semihalf.com>
-rwxr-xr-xsrc/plugins/odp/odp_packet.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/odp/odp_packet.c b/src/plugins/odp/odp_packet.c
index ef640ff..c53dcd5 100755
--- a/src/plugins/odp/odp_packet.c
+++ b/src/plugins/odp/odp_packet.c
@@ -278,6 +278,7 @@ odp_packet_delete_if (vlib_main_t * vm, u8 * host_if_name)
odp_packet_main_t *om = odp_packet_main;
odp_packet_if_t *oif = 0;
uword *p;
+ int q;
p = mhash_get (&om->if_index_by_host_if_name, host_if_name);
@@ -290,7 +291,8 @@ odp_packet_delete_if (vlib_main_t * vm, u8 * host_if_name)
oif = pool_elt_at_index (om->interfaces, p[0]);
vnet_hw_interface_set_flags (vnm, oif->hw_if_index, 0);
- vnet_hw_interface_unassign_rx_thread (vnm, oif->hw_if_index, 0);
+ for (q = 0; q < oif->m.num_rx_queues; q++)
+ vnet_hw_interface_unassign_rx_thread (vnm, oif->hw_if_index, q);
om->if_count--;