• Jacob Keller's avatar
    ice: track malicious VFs in new ice_mbx_vf_info structure · e4eaf893
    Jacob Keller authored
    Currently the PF tracks malicious VFs in a malvfs bitmap which is used by
    the ice_mbx_clear_malvf and ice_mbx_report_malvf functions. This bitmap is
    used to ensure that we only report a VF as malicious once rather than
    continuously spamming the event log.
    
    This mechanism of storage for the malicious indication works well enough
    for SR-IOV. However, it will not work with Scalable IOV. This is because
    Scalable IOV VFs can be allocated dynamically and might change VF ID when
    their underlying VSI changes.
    
    To support this, the mailbox overflow logic will need to be refactored.
    First, introduce a new ice_mbx_vf_info structure which will be used to
    store data about a VF. Embed this structure in the struct ice_vf, and
    ensure it gets initialized when a new VF is created.
    
    For now this only stores the malicious indicator bit. Pass a pointer to the
    VF's mbx_info structure instead of using a bitmap to keep track of these
    bits.
    
    A future change will extend this structure and the rest of the logic
    associated with the overflow detection.
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Reviewed-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
    Tested-by: default avatarMarek Szlosek <marek.szlosek@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    e4eaf893
ice_vf_lib.h 8.47 KB