• Tirthendu Sarkar's avatar
    i40e: add xdp_buff to i40e_ring struct · 01aa49e3
    Tirthendu Sarkar authored
    Store xdp_buff on Rx ring struct in preparation for XDP multi-buffer
    support. This will allow us to combine fragmented frames across
    separate NAPI cycles in the same way as currently skb fragments are
    handled. This means that skb pointer on Rx ring will become redundant
    and will be removed in a later patch. As a consequence i40e_trace() now
    uses xdp instead of skb pointer.
    
    Truesize only needs to be calculated for page sizes bigger than 4k as it
    is always half-page for 4k pages. With xdp_buff on ring, frame size can
    now be set during xdp_init_buff() and need not be repopulated in each
    NAPI call for 4k pages. As a consequence i40e_rx_frame_truesize() is now
    used only for bigger pages.
    Signed-off-by: default avatarTirthendu Sarkar <tirthendu.sarkar@intel.com>
    Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    01aa49e3
i40e_txrx.h 17.9 KB