Patch "bnx2x: Allow vfs to disable txvlan offload" has been added to the 4.4-stable tree
This is a note to let you know that I've just added the patch titled
bnx2x: Allow vfs to disable txvlan offload
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
bnx2x-allow-vfs-to-disable-txvlan-offload.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Tue Apr 10 10:31:53 CEST 2018
From: "Mintz, Yuval" <[email protected]>
Date: Fri, 9 Jun 2017 17:17:01 +0300
Subject: bnx2x: Allow vfs to disable txvlan offload
From: "Mintz, Yuval" <[email protected]>
[ Upstream commit 92f85f05caa51d844af6ea14ffbc7a786446a644 ]
VF clients are configured as enforced, meaning firmware is validating the correctness of their ethertype/vid during transmission. Once txvlan is disabled, VF would start getting SKBs for transmission here vlan is on the payload - but it'll pass the packet's ethertype instead of the vid, leading to firmware declaring it as malicious.
--- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +15 -4
@@ -3943,15 +3943,26 @@ netdev_tx_t bnx2x_start_xmit(struct sk_b/* when transmitting in a vf, start bd must hold the ethertype * for fw to enforce it */ +u16 vlan_tci =0 ;#ifndef BNX2X_STOP_ON_ERROR -if (IS_VF (bp)) +if (IS_VF (bp)) {#endif - tx_start_bd->vlan_or_ethertype = -cpu_to_le16 (ntohs (eth->h_proto)); +/* Still need to consider inband vlan for enforced */ +if (__vlan_get_tag (skb, &vlan_tci)) { + tx_start_bd->vlan_or_ethertype = +cpu_to_le16 (ntohs (eth->h_proto)); + }else { + tx_start_bd->bd_flags.as_bitfield |= + (X_ETH_INBAND_VLAN << +ETH_TX_BD_FLAGS_VLAN_MODE_SHIFT ); + tx_start_bd->vlan_or_ethertype = +cpu_to_le16 (vlan_tci); + } #ifndef BNX2X_STOP_ON_ERROR - else + }else {/* used by FW for packet accounting */ tx_start_bd->vlan_or_ethertype =cpu_to_le16 (pkt_prod); + }#endif }
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/bnx2x-allow-vfs-to-disable-txvlan-offload.patch