virtio-net: build xdp_buff with multi buffers
authorHeng Qi <hengqi@linux.alibaba.com>
Sat, 14 Jan 2023 08:22:24 +0000 (16:22 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 Jan 2023 11:15:48 +0000 (11:15 +0000)
commitef75cb51f13941cf7633227ade43c4d86ecbc336
tree926655e6aadf855c3dfffe75edc4acd4258b9d41
parent50bd14bc98fa0c86ea1e688d93ef1ffe8f1572a0
virtio-net: build xdp_buff with multi buffers

Support xdp for multi buffer packets in mergeable mode.

Putting the first buffer as the linear part for xdp_buff,
and the rest of the buffers as non-linear fragments to struct
skb_shared_info in the tailroom belonging to xdp_buff.

Let 'truesize' return to its literal meaning, that is, when
xdp is set, it includes the length of headroom and tailroom.

Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/virtio_net.c