• Brett Creeley's avatar
    ice: Account for port VLAN in VF max packet size calculation · a6aa7c8f
    Brett Creeley authored
    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: 1071a835 ("ice: Implement virtchnl commands for AVF support")
    Signed-off-by: default avatarBrett Creeley <brett.creeley@intel.com>
    Tested-by: default avatarTony Brelinski <tonyx.brelinski@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    a6aa7c8f
ice_virtchnl_pf.c 111 KB