• Grishma Kotecha's avatar
    ice: allow adding advanced rules · 0f94570d
    Grishma Kotecha authored
    Define dummy packet headers to allow adding advanced rules in HW. This
    header is used as admin queue command parameter for adding a rule.
    The firmware will extract correct fields and will use them in look ups.
    
    Define each supported packets header and offsets to words used in recipe.
    Supported headers:
    - MAC + IPv4 + UDP
    - MAC + VLAN + IPv4 + UDP
    - MAC + IPv4 + TCP
    - MAC + VLAN + IPv4 + TCP
    - MAC + IPv6 + UDP
    - MAC + VLAN + IPv6 + UDP
    - MAC + IPv6 + TCP
    - MAC + VLAN + IPv6 + TCP
    
    Add code for creating an advanced rule. Rule needs to match defined
    dummy packet, if not return error, which means that this type of rule
    isn't currently supported.
    
    The first step in adding advanced rule is searching for an advanced
    recipe matching this kind of rule. If it doesn't exist new recipe is
    created. Dummy packet has to be filled with the correct header field
    value from the rule definition. It will be used to do look up in HW.
    
    Support searching for existing advance rule entry. It is used in case
    of adding the same rule on different VSI. In this case, instead of
    creating new rule, the existing one should be updated with refreshed VSI
    list.
    
    Add initialization for prof_res_bm_init flag to zero so that
    the possible resource for fv in the files can be initialized.
    Co-developed-by: default avatarDan Nowlin <dan.nowlin@intel.com>
    Signed-off-by: default avatarDan Nowlin <dan.nowlin@intel.com>
    Signed-off-by: default avatarGrishma Kotecha <grishma.kotecha@intel.com>
    Signed-off-by: default avatarWojciech Drewek <wojciech.drewek@intel.com>
    Tested-by: default avatarSandeep Penigalapati <sandeep.penigalapati@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    0f94570d
ice_switch.c 146 KB