• Vlad Buslov's avatar
    net/mlx5e: Match recirculated packet miss in slow table using reg_c1 · 8e404fef
    Vlad Buslov authored
    Previous patch in series that implements stack devices RX path implements
    indirect table rules that match on tunnel VNI. After such rule is created
    all tunnel traffic is recirculated to root table. However, recirculated
    packet might not match on any rules installed in the table (for example,
    when IP traffic follows ARP traffic). In that case packets appear on
    representor of tunnel endpoint VF instead being redirected to the VF
    itself.
    
    Extend slow table with additional flow group that matches on reg_c0 (source
    port value set by indirect tables implemented by previous patch in series)
    and reg_c1 (special 0xFFF mark). When creating offloads fdb tables, install
    one rule per VF vport to match on recirculated miss packets and redirect
    them to appropriate VF vport. Modify indirect tables code to also rewrite
    reg_c1 with special 0xFFF mark.
    
    Implementation reuses reg_c1 tunnel id bits. This is safe to do because
    recirculated packets are always matched before decapsulation.
    Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
    Signed-off-by: default avatarDmytro Linkin <dlinkin@nvidia.com>
    Reviewed-by: default avatarRoi Dayan <roid@nvidia.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
    8e404fef
eswitch.h 5 KB