• Michal Jaron's avatar
    iavf: Fix set max MTU size with port VLAN and jumbo frames · 399c98c4
    Michal Jaron authored
    After setting port VLAN and MTU to 9000 on VF with ice driver there
    was an iavf error
    "PF returned error -5 (IAVF_ERR_PARAM) to our request 6".
    
    During queue configuration, VF's max packet size was set to
    IAVF_MAX_RXBUFFER but on ice max frame size was smaller by VLAN_HLEN
    due to making some space for port VLAN as VF is not aware whether it's
    in a port VLAN. This mismatch in sizes caused ice to reject queue
    configuration with ERR_PARAM error. Proper max_mtu is sent from ice PF
    to VF with GET_VF_RESOURCES msg but VF does not look at this.
    
    In iavf change max_frame from IAVF_MAX_RXBUFFER to max_mtu
    received from pf with GET_VF_RESOURCES msg to make vf's
    max_frame_size dependent from pf. Add check if received max_mtu is
    not in eligible range then set it to IAVF_MAX_RXBUFFER.
    
    Fixes: dab86afd ("i40e/i40evf: Change the way we limit the maximum frame size for Rx")
    Signed-off-by: default avatarMichal Jaron <michalx.jaron@intel.com>
    Signed-off-by: default avatarMateusz Palczewski <mateusz.palczewski@intel.com>
    Tested-by: default avatarKonrad Jankowski <konrad0.jankowski@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    399c98c4
iavf_virtchnl.c 68.7 KB