• Mitch Williams's avatar
    i40evf: handle many MAC filters correctly · 1418c345
    Mitch Williams authored
    When a lot (many hundreds) of MAC or VLAN filters are added at one time,
    we can overflow the Admin Queue buffer size with all the requests.
    Unfortunately, the driver would then calculate the message size
    incorrectly, causing it to be rejected by the PF. Furthermore, there was
    no mechanism to trigger another request to allow for configuring the
    rest of the filters that didn't fit into the first request.
    
    To fix this, recalculate the correct buffer size when we detect the
    overflow condition instead of just assuming the max buffer size. Also,
    don't clear the request bit in adapter->aq_required when we have an
    overflow, so that the rest of the filters can be processed later.
    
    Change-ID: Idd7cbbc5af31315e0dcb1b10e6a02ad9817ce65c
    Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    1418c345
i40evf_virtchnl.c 24.5 KB