* [PATCH net] net: libwx: fix FDIR ATR queue mismatch for software VLAN packets
@ 2026-07-24 7:46 Jiawen Wu
2026-07-28 16:54 ` Simon Horman
0 siblings, 1 reply; 2+ messages in thread
From: Jiawen Wu @ 2026-07-24 7:46 UTC (permalink / raw)
To: netdev
Cc: Mengyuan Lou, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Jacob Keller, Kees Cook,
Simon Horman, Jiawen Wu
When TX VLAN hardware offload is disabled, VLAN tags are embedded in
the packet payload (software VLAN). Previously, the driver failed to
set the WX_TX_FLAGS_SW_VLAN flag for these packets during transmission.
This missing flag caused the txgbe FDIR ATR logic to fall through to the
default hash calculation path. This resulted in asymmetric hash values
for Tx and Rx flows, preventing return packets from being steered to the
same queue as the transmit packets.
Fix this by detecting software VLANs via eth_type_vlan(skb->protocol)
and setting WX_TX_FLAGS_SW_VLAN. This ensures the ATR feature selects
the correct hashing algorithm to maintain Tx/Rx queue symmetry.
Fixes: b501d261a5b3 ("net: txgbe: add FDIR ATR support")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/ethernet/wangxun/libwx/wx_lib.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/wangxun/libwx/wx_lib.c b/drivers/net/ethernet/wangxun/libwx/wx_lib.c
index 814d88d2aee4..5d99e870de5e 100644
--- a/drivers/net/ethernet/wangxun/libwx/wx_lib.c
+++ b/drivers/net/ethernet/wangxun/libwx/wx_lib.c
@@ -1606,6 +1606,8 @@ static netdev_tx_t wx_xmit_frame_ring(struct sk_buff *skb,
if (skb_vlan_tag_present(skb)) {
tx_flags |= skb_vlan_tag_get(skb) << WX_TX_FLAGS_VLAN_SHIFT;
tx_flags |= WX_TX_FLAGS_HW_VLAN;
+ } else if (eth_type_vlan(skb->protocol)) {
+ tx_flags |= WX_TX_FLAGS_SW_VLAN;
}
if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) &&
--
2.51.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH net] net: libwx: fix FDIR ATR queue mismatch for software VLAN packets
2026-07-24 7:46 [PATCH net] net: libwx: fix FDIR ATR queue mismatch for software VLAN packets Jiawen Wu
@ 2026-07-28 16:54 ` Simon Horman
0 siblings, 0 replies; 2+ messages in thread
From: Simon Horman @ 2026-07-28 16:54 UTC (permalink / raw)
To: Jiawen Wu
Cc: netdev, Mengyuan Lou, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Jacob Keller, Kees Cook
On Fri, Jul 24, 2026 at 03:46:57PM +0800, Jiawen Wu wrote:
> When TX VLAN hardware offload is disabled, VLAN tags are embedded in
> the packet payload (software VLAN). Previously, the driver failed to
> set the WX_TX_FLAGS_SW_VLAN flag for these packets during transmission.
>
> This missing flag caused the txgbe FDIR ATR logic to fall through to the
> default hash calculation path. This resulted in asymmetric hash values
> for Tx and Rx flows, preventing return packets from being steered to the
> same queue as the transmit packets.
>
> Fix this by detecting software VLANs via eth_type_vlan(skb->protocol)
> and setting WX_TX_FLAGS_SW_VLAN. This ensures the ATR feature selects
> the correct hashing algorithm to maintain Tx/Rx queue symmetry.
>
> Fixes: b501d261a5b3 ("net: txgbe: add FDIR ATR support")
> Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-28 16:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-24 7:46 [PATCH net] net: libwx: fix FDIR ATR queue mismatch for software VLAN packets Jiawen Wu
2026-07-28 16:54 ` Simon Horman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox