diff options
author | Iván Briano <ivan.briano@intel.com> | 2017-07-13 18:46:58 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-07-14 17:20:28 +0200 |
commit | ccd4eb49f3392ebf989d58bd013a7bf44cdca4d6 (patch) | |
tree | 11a5591bb0e15a09f49ce46d24b7161aaed750be /net/sched | |
parent | net: bridge: fix dest lookup when vlan proto doesn't match (diff) | |
download | linux-ccd4eb49f3392ebf989d58bd013a7bf44cdca4d6.tar.xz linux-ccd4eb49f3392ebf989d58bd013a7bf44cdca4d6.zip |
net/packet: Fix Tx queue selection for AF_PACKET
When PACKET_QDISC_BYPASS is not used, Tx queue selection will be done
before the packet is enqueued, taking into account any mappings set by
a queuing discipline such as mqprio without hardware offloading. This
selection may be affected by a previously saved queue_mapping, either on
the Rx path, or done before the packet reaches the device, as it's
currently the case for AF_PACKET.
In order for queue selection to work as expected when using traffic
control, there can't be another selection done before that point is
reached, so move the call to packet_pick_tx_queue to
packet_direct_xmit, leaving the default xmit path as it was before
PACKET_QDISC_BYPASS was introduced.
A forward declaration of packet_pick_tx_queue() is introduced to avoid
the need to reorder the functions within the file.
Fixes: d346a3fae3ff ("packet: introduce PACKET_QDISC_BYPASS socket option")
Signed-off-by: Iván Briano <ivan.briano@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
0 files changed, 0 insertions, 0 deletions