Rework mvneta_rx_swbm routine in order to process all rx descriptors before building the skb or run the xdp program attached to the interface. Introduce xdp_get_shared_info_from_{buff,frame} utility routines to get the skb_shared_info pointer from xdp_buff or xdp_frame. This is a preliminary series to enable multi-buffers and jumbo frames for XDP according to [1] [1] https://github.com/xdp-project/xdp-project/blob/master/areas/core/xdp-multi-buffer01-design.org Changes since v1: - rely on skb_frag_* utility routines to access page/offset/len of the xdp multi-buffer Lorenzo Bianconi (6): xdp: introduce xdp_get_shared_info_from_{buff,frame} utility routines net: mvneta: move skb build after descriptors processing net: mvneta: move mvneta_run_xdp after descriptors processing net: mvneta: drop all fragments in XDP_DROP net: mvneta: get rid of skb in mvneta_rx_queue net: mvneta: move rxq->left_size on the stack drivers/net/ethernet/marvell/mvneta.c | 221 ++++++++++++++------------ include/net/xdp.h | 15 ++ 2 files changed, 138 insertions(+), 98 deletions(-) -- 2.26.2