From ac7b35cd209aca50ca8e5c97b0adf9649d79517c Mon Sep 17 00:00:00 2001 From: Tom Barbette Date: Fri, 21 Jul 2017 16:16:59 +0100 Subject: [PATCH] ToDevice(.k) : Set queue_mapping to 0 Somehow, even with only one queue in RX this field is dangling. Fix #359. In ixgbe and i40e that lead to accessing an inexisting queue. Proper support would be to initialize the device with multiple queues, or us multiple ToDevice with a QUEUE argument and use one queue per thread. But that's for another day... --- elements/linuxmodule/todevice.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/elements/linuxmodule/todevice.cc b/elements/linuxmodule/todevice.cc index 665efd1e98..32ef6753d8 100644 --- a/elements/linuxmodule/todevice.cc +++ b/elements/linuxmodule/todevice.cc @@ -511,6 +511,9 @@ ToDevice::queue_packet(Packet *p, struct netdev_queue *txq) // apparently some devices in Linux 2.6 require it skb1->dev = dev; + //reset queue index until proper MQ support + skb1->queue_mapping = 0; + #ifdef IFF_XMIT_DST_RELEASE /* * If device doesnt need skb->dst, release it right now while