• Maor Dickman's avatar
    net/mlx5e: Set geneve_tlv_option_0_exist when matching on geneve option · e54638a8
    Maor Dickman authored
    The cited patch added support of matching on geneve option by setting
    geneve_tlv_option_0_data mask and key but didn't set geneve_tlv_option_0_exist
    bit which is required on some HWs when matching geneve_tlv_option_0_data parameter,
    this may cause in some cases for packets to wrongly match on rules with different
    geneve option.
    
    Example of such case is packet with geneve_tlv_object class=789 and data=456
    will wrongly match on rule with match geneve_tlv_object class=123 and data=456.
    
    Fix it by setting geneve_tlv_option_0_exist bit when supported by the HW when matching
    on geneve_tlv_option_0_data parameter.
    
    Fixes: 9272e3df ("net/mlx5e: Geneve, Add support for encap/decap flows offload")
    Signed-off-by: default avatarMaor Dickman <maord@nvidia.com>
    Reviewed-by: default avatarRoi Dayan <roid@nvidia.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
    e54638a8
tc_tun_geneve.c 12.5 KB