cxgb4: offload VLAN flows regardless of VLAN ethtype
[ Upstream commit b5730061d1056abf317caea823b94d6e12b5b4f6 ] VLAN flows never get offloaded unless ivlan_vld is set in filter spec. It's not compulsory for vlan_ethtype to be set. So, always enable ivlan_vld bit for offloading VLAN flows regardless of vlan_ethtype is set or not. Fixes: ad9af3e09c (cxgb4: add tc flower match support for vlan) Signed-off-by: Raju Rangoju <rajur@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3cde0a2508
commit
9c9144e789
@ -228,6 +228,9 @@ static void cxgb4_process_flow_match(struct net_device *dev,
|
||||
fs->val.ivlan = vlan_tci;
|
||||
fs->mask.ivlan = vlan_tci_mask;
|
||||
|
||||
fs->val.ivlan_vld = 1;
|
||||
fs->mask.ivlan_vld = 1;
|
||||
|
||||
/* Chelsio adapters use ivlan_vld bit to match vlan packets
|
||||
* as 802.1Q. Also, when vlan tag is present in packets,
|
||||
* ethtype match is used then to match on ethtype of inner
|
||||
@ -238,8 +241,6 @@ static void cxgb4_process_flow_match(struct net_device *dev,
|
||||
* ethtype value with ethtype of inner header.
|
||||
*/
|
||||
if (fs->val.ethtype == ETH_P_8021Q) {
|
||||
fs->val.ivlan_vld = 1;
|
||||
fs->mask.ivlan_vld = 1;
|
||||
fs->val.ethtype = 0;
|
||||
fs->mask.ethtype = 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user