• Eli Cohen's avatar
    net/mlx5: E-Switch, Disallow vlan/spoofcheck setup if not being esw manager · a8d70a05
    Eli Cohen authored
    In smartnic env, if the host (PF) driver is not an e-switch manager, we
    are not allowed to apply eswitch ports setups such as vlan (VST),
    spoof-checks, min/max rate or state.
    
    Make sure we are eswitch manager when coming to issue these callbacks
    and err otherwise.
    
    Also fix the definition of ESW_ALLOWED to rely on eswitch_manager
    capability and on the vport_group_manger.
    
    Operations on the VF nic vport context, such as setting a mac or reading
    the vport counters are allowed to the PF in this scheme.
    
    The modify nic vport guid code was modified to omit checking the
    nic_vport_node_guid_modify eswitch capability.
    The reason for doing so is that modifying node guid requires vport group
    manager capability, and there's no need to check further capabilities.
    
    1. set_vf_vlan     - disallowed
    2. set_vf_spoofchk - disallowed
    3. set_vf_mac      - allowed
    4. get_vf_config   - allowed
    5. set_vf_trust    - disallowed
    6. set_vf_rate     - disallowed
    7. get_vf_stat     - allowed
    8. set_vf_link_state - disallowed
    
    Fixes: f942380c ('net/mlx5: E-Switch, Vport ingress/egress ACLs rules for spoofchk')
    Signed-off-by: default avatarEli Cohen <eli@mellanox.com>
    Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Tested-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    a8d70a05
vport.c 33.2 KB