• Eran Ben Elisha's avatar
    IB/mlx4: Add counter based implementation for QP multicast loopback block · 7b59f0f9
    Eran Ben Elisha authored
    Current implementation for MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK is not
    supported when link layer is Ethernet.
    
    This patch will add counter based implementation for multicast loopback
    prevention. HW can drop multicast loopback packets if sender QP counter
    index is equal to receiver QP counter index. If qp flag
    MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK is set and link layer is Ethernet,
    create a new counter and attach it to the QP so it will continue
    receiving multicast loopback traffic but it's own.
    
    The decision if to create a new counter is being made at the qp
    modification to RTR after the QP's port is set. When QP is destroyed or
    moved back to reset state, delete the counter.
    Signed-off-by: default avatarEran Ben Elisha <eranbe@mellanox.com>
    Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
    7b59f0f9
mlx4_ib.h 24.1 KB