Skip to content
  • Jesper Dangaard Brouer's avatar
    xdp: base API for new XDP rx-queue info concept · aecd67b6
    Jesper Dangaard Brouer authored
    
    
    This patch only introduce the core data structures and API functions.
    All XDP enabled drivers must use the API before this info can used.
    
    There is a need for XDP to know more about the RX-queue a given XDP
    frames have arrived on.  For both the XDP bpf-prog and kernel side.
    
    Instead of extending xdp_buff each time new info is needed, the patch
    creates a separate read-mostly struct xdp_rxq_info, that contains this
    info.  We stress this data/cache-line is for read-only info.  This is
    NOT for dynamic per packet info, use the data_meta for such use-cases.
    
    The performance advantage is this info can be setup at RX-ring init
    time, instead of updating N-members in xdp_buff.  A possible (driver
    level) micro optimization is that xdp_buff->rxq assignment could be
    done once per XDP/NAPI loop.  The extra pointer deref only happens for
    program needing access to this info (thus, no slowdown to existing
    use-cases).
    
    Signed-off-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    aecd67b6