]> git.baikalelectronics.ru Git - kernel.git/commit
ice: Account for port VLAN in VF max packet size calculation
authorBrett Creeley <brett.creeley@intel.com>
Thu, 17 Sep 2020 20:13:38 +0000 (13:13 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 22 Feb 2021 19:19:15 +0000 (11:19 -0800)
commit9f2b546e2278587e410fe5632b98c9b8eb15154e
tree056ea991eb27ee8c6cf829d5b39536c2763961f0
parentf9a8c59d1059311a1a495dba5c08ec1fc5e33a73
ice: Account for port VLAN in VF max packet size calculation

Currently if an AVF driver doesn't account for the possibility of a
port VLAN when determining its max packet size then packets at MTU will
be dropped. It is not the VF driver's responsibility to account for a
port VLAN so fix this. To fix this, do the following:

1. Add a function that determines the max packet size a VF is allowed by
   using the port's max packet size and whether the VF is in a port
   VLAN. If a port VLAN is configured then a VF's max packet size will
   always be the port's max packet size minus VLAN_HLEN. Otherwise it
   will be the port's max packet size.

2. Use this function to verify the max packet size from the VF.

3. If there is a port VLAN configured then add 4 bytes (VLAN_HLEN) to
   the VF's max packet size configuration.

Also, the VIRTCHNL_OP_GET_VF_RESOURCES message provides the capability
to communicate a VF's max packet size. Use the new function for this
purpose.

Fixes: 9c60e874df88 ("ice: Implement virtchnl commands for AVF support")
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c