• Huy Nguyen's avatar
    net/mlx5: Support inner header match criteria for non decap flow action · 93b3586e
    Huy Nguyen authored
    We have an issue that OVS application creates an offloaded drop rule
    that drops VXLAN traffic with both inner and outer header match
    criteria. mlx5_core driver detects correctly the inner and outer
    header match criteria but does not enable the inner header match criteria
    due to an incorrect assumption in mlx5_eswitch_add_offloaded_rule that
    only decap rule needs inner header criteria.
    
    Solution:
    Remove mlx5_esw_flow_attr's match_level and tunnel_match_level and add
    two new members: inner_match_level and outer_match_level.
    inner/outer_match_level is set to NONE if the inner/outer match criteria
    is not specified in the tc rule creation request. The decap assumption is
    removed and the code just needs to check for inner/outer_match_level to
    enable the corresponding bit in firmware's match_criteria_enable value.
    
    Fixes: 6363651d ("net/mlx5e: Properly set steering match levels for offloaded TC decap rules")
    Signed-off-by: default avatarHuy Nguyen <huyn@mellanox.com>
    Reviewed-by: default avatarRoi Dayan <roid@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    93b3586e
en_tc.c 101 KB