diff options
author | Brett Creeley <brett.creeley@intel.com> | 2020-09-17 22:13:38 +0200 |
---|---|---|
committer | Tony Nguyen <anthony.l.nguyen@intel.com> | 2021-02-22 20:19:15 +0100 |
commit | a6aa7c8f998f4afddd73410aa043dad38162ce9e (patch) | |
tree | 056ea991eb27ee8c6cf829d5b39536c2763961f0 /drivers/hid/hid-gembird.c | |
parent | ice: Set trusted VF as default VSI when setting allmulti on (diff) | |
download | linux-a6aa7c8f998f4afddd73410aa043dad38162ce9e.tar.xz linux-a6aa7c8f998f4afddd73410aa043dad38162ce9e.zip |
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: 1071a8358a28 ("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>
Diffstat (limited to 'drivers/hid/hid-gembird.c')
0 files changed, 0 insertions, 0 deletions