• Jesper Dangaard Brouer's avatar
    i40e: setup xdp_rxq_info · 87128824
    Jesper Dangaard Brouer authored
    The i40e driver has a special "FDIR" RX-ring (I40E_VSI_FDIR) which is
    a sideband channel for configuring/updating the flow director tables.
    This (i40e_vsi_)type does not invoke XDP-ebpf code.
    
    As suggested by Björn (V2): Instead of marking this I40E_VSI_FDIR RX-ring
    a special case, reverse the logic and only select RX-rings of type
    I40E_VSI_MAIN to register xdp_rxq_info's for.
    
    Driver hook points for xdp_rxq_info:
     * reg  : i40e_setup_rx_descriptors (via i40e_vsi_setup_rx_resources)
     * unreg: i40e_free_rx_resources    (via i40e_vsi_free_rx_resources)
    
    Tested on actual hardware with samples/bpf program.
    
    V2: Fixed bug in i40e_set_ringparam (memset zero) + match on I40E_VSI_MAIN.
    V4: Update patch desc that got out-of-sync with code.
    
    Cc: intel-wired-lan@lists.osuosl.org
    Cc: Björn Töpel <bjorn.topel@intel.com>
    Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Cc: Paul Menzel <pmenzel@molgen.mpg.de>
    Signed-off-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
    Reviewed-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
    Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    87128824
i40e_txrx.h 18.8 KB