• Tariq Toukan's avatar
    net/mlx5e: Added self loopback prevention · 66189961
    Tariq Toukan authored
    Prevent outgoing multicast frames from looping back to the RX queue.
    
    By introducing new HW capability self_lb_en_modifiable, which indicates
    the support to modify self_lb_en bit in modify_tir command.
    
    When this capability is set we can prevent TIRs from sending back
    loopback multicast traffic to their own RQs, by "refreshing TIRs" with
    modify_tir command, on every time new channels (SQs/RQs) are created at
    device open.
    This is needed since TIRs are static and only allocated once on driver
    load, and the loopback decision is under their responsibility.
    
    Fixes issues of the kind:
    "IPv6: eth2: IPv6 duplicate address fe80::e61d:2dff:fe5c:f2e9 detected!"
    The issue is seen since the IPv6 solicitations multicast messages are
    loopedback and the network stack thinks they are coming from another host.
    
    Fixes: 5c50368f ("net/mlx5e: Light-weight netdev open/stop")
    Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    66189961
mlx5_ifc.h 146 KB