• Jesper Dangaard Brouer's avatar
    xdp/mlx5: setup xdp_rxq_info · 0ddf5432
    Jesper Dangaard Brouer authored
    The mlx5 driver have a special drop-RQ queue (one per interface) that
    simply drops all incoming traffic. It helps driver keep other HW
    objects (flow steering) alive upon down/up operations.  It is
    temporarily pointed by flow steering objects during the interface
    setup, and when interface is down. It lacks many fields that are set
    in a regular RQ (for example its state is never switched to
    MLX5_RQC_STATE_RDY). (Thanks to Tariq Toukan for explanation).
    
    The XDP RX-queue info for this drop-RQ marked as unused, which
    allow us to use the same takedown/free code path as other RX-queues.
    
    Driver hook points for xdp_rxq_info:
     * reg   : mlx5e_alloc_rq()
     * unused: mlx5e_alloc_drop_rq()
     * unreg : mlx5e_free_rq()
    
    Tested on actual hardware with samples/bpf program
    
    Cc: Saeed Mahameed <saeedm@mellanox.com>
    Cc: Matan Barak <matanb@mellanox.com>
    Cc: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    0ddf5432
en.h 32.7 KB