diff options
author | Iván Briano <ivan.briano@intel.com> | 2017-07-13 09:46:58 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-07-14 08:20:28 -0700 |
commit | ccd4eb49f3392ebf989d58bd013a7bf44cdca4d6 (patch) | |
tree | 11a5591bb0e15a09f49ce46d24b7161aaed750be /init/do_mounts.c | |
parent | 31a4562d7408493c6377933ff2f7d7302dbdea80 (diff) |
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 'init/do_mounts.c')
0 files changed, 0 insertions, 0 deletions