• Tirthendu Sarkar's avatar
    i40e: xsk: add RX multi-buffer support · 1c9ba9c1
    Tirthendu Sarkar authored
    This patch is inspired from the multi-buffer support in non-zc path for
    i40e as well as from the patch to support zc on ice. Each subsequent
    frag is added to skb_shared_info of the first frag for possible xdp_prog
    use as well to xsk buffer list for accessing the buffers in af_xdp.
    
    For XDP_PASS, new pages are allocated for frags and contents are copied
    from memory backed by xsk_buff_pool.
    
    Replace next_to_clean with next_to_process as done in non-zc path and
    advance it for every buffer and change the semantics of next_to_clean to
    point to the first buffer of a packet. Driver will use next_to_process
    in the same way next_to_clean was used previously.
    
    For the non multi-buffer case, next_to_process and next_to_clean will
    always be the same since each packet consists of a single buffer.
    Signed-off-by: default avatarTirthendu Sarkar <tirthendu.sarkar@intel.com>
    Link: https://lore.kernel.org/r/20230719132421.584801-14-maciej.fijalkowski@intel.comSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    1c9ba9c1
i40e_main.c 462 KB