• Jianbo Liu's avatar
    net/mlx5e: E-Switch, Add misc bit when misc fields changed for mirroring · 0faddfe6
    Jianbo Liu authored
    The modified flow_context fields in FTE must be indicated in
    modify_enable bitmask. Previously, the misc bit in modify_enable is
    always set as source vport must be set for each rule. So, when parsing
    vxlan/gre/geneve/qinq rules, this bit is not set because those are all
    from the same misc fileds that source vport fields are located at, and
    we don't need to set the indicator twice.
    
    After adding per vport tables for mirroring, misc bit is not set, then
    firmware syndrome happens. To fix it, set the bit wherever misc fileds
    are changed. This also makes it unnecessary to check misc fields and set
    the misc bit accordingly in metadata matching, so here remove it.
    
    Besides, flow_source must be specified for uplink because firmware
    will check it and some actions are only allowed for packets received
    from uplink.
    
    Fixes: 96e32687 ("net/mlx5e: Eswitch, Use per vport tables for mirroring")
    Signed-off-by: default avatarJianbo Liu <jianbol@mellanox.com>
    Reviewed-by: default avatarChris Mi <chrism@mellanox.com>
    Reviewed-by: default avatarRoi Dayan <roid@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    0faddfe6
tc_tun_geneve.c 11.2 KB