v7:
1. fix bug reported by robot
2. Still splitting into two commits, as the issues fixed originate from
different commits. This separation makes it easier to selectively revert to
previous versions.
v6:
1. rename to guest_hdrlen
2. introduce a function virtio_net_set_hdrlen to set the hdrlen
The commit be50da3e9d4a ("net: virtio_net: implement exact header length
guest feature") introduces support for the VIRTIO_NET_F_GUEST_HDRLEN
feature in virtio-net.
This feature requires virtio-net to set hdr_len to the actual header
length of the packet when transmitting, the number of
bytes from the start of the packet to the beginning of the
transport-layer payload.
However, in practice, hdr_len was being set using skb_headlen(skb),
which is clearly incorrect. This path set fixes that issue.
As discussed in [0], this version checks the VIRTIO_NET_F_GUEST_HDRLEN is
negotiated.
[0]:
http://lore.kernel.org/all/[email protected]
Xuan Zhuo (2):
virtio-net: correct hdr_len handling for VIRTIO_NET_F_GUEST_HDRLEN
virtio-net: correct hdr_len handling for tunnel gso
drivers/net/tun_vnet.h | 2 +-
drivers/net/virtio_net.c | 8 +++-
include/linux/virtio_net.h | 75 ++++++++++++++++++++++++++++++--------
3 files changed, 67 insertions(+), 18 deletions(-)
--
2.32.0.3.g01195cf9f