All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hangbin Liu <liuhangbin@gmail.com>
To: netdev@vger.kernel.org
Cc: "Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Maxim Mikityanskiy <maximmi@mellanox.com>,
	Willem de Bruijn <willemb@google.com>,
	virtualization@lists.linux-foundation.org,
	Balazs Nemeth <bnemeth@redhat.com>,
	Mike Pattrick <mailmpattric@redhat.com>,
	Eric Dumazet <edumazet@google.com>,
	Hangbin Liu <liuhangbin@gmail.com>
Subject: [PATCH net 0/2] net: fix kernel dropping GSO tagged packets
Date: Mon, 18 Apr 2022 12:43:37 +0800	[thread overview]
Message-ID: <20220418044339.127545-1-liuhangbin@gmail.com> (raw)

Flavio reported that the kernel drops GSO VLAN tagged packet if it's
created with socket(AF_PACKET, SOCK_RAW, 0) plus virtio_net_hdr.

The reason is AF_PACKET doesn't adjust the skb network header if there is
a VLAN tag. And in virtio_net_hdr_to_skb() it also checks skb->protocol
blindly and not take care of VLAN tags.

The first patch adjust the network header position for AF_PACKET VLAN
tagged packets. The second patch fixes the VLAN protocol checking in
virtio_net_hdr_to_skb().

Hangbin Liu (2):
  net/af_packet: adjust network header position for VLAN tagged packets
  virtio_net: check L3 protocol for VLAN packets

 include/linux/virtio_net.h | 26 +++++++++++++++++++-------
 net/packet/af_packet.c     | 18 +++++++++++++-----
 2 files changed, 32 insertions(+), 12 deletions(-)

-- 
2.35.1


             reply	other threads:[~2022-04-18  4:44 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-18  4:43 Hangbin Liu [this message]
2022-04-18  4:43 ` [PATCH net 1/2] net/af_packet: adjust network header position for VLAN tagged packets Hangbin Liu
2022-04-18 15:38   ` Willem de Bruijn
2022-04-18 15:38     ` Willem de Bruijn
2022-04-19  3:02     ` Hangbin Liu
2022-04-19 13:56       ` Willem de Bruijn
2022-04-19 13:56         ` Willem de Bruijn
2022-04-19 14:26         ` Michael S. Tsirkin
2022-04-19 14:26           ` Michael S. Tsirkin
2022-04-20  0:59           ` Hangbin Liu
2022-04-20  2:47             ` Jason Wang
2022-04-20  2:47               ` Jason Wang
2022-04-18  4:43 ` [PATCH net 2/2] virtio_net: check L3 protocol for VLAN packets Hangbin Liu
2022-04-18 15:40   ` Willem de Bruijn
2022-04-18 15:40     ` Willem de Bruijn
2022-04-19  3:14     ` Hangbin Liu
2022-04-19 13:52       ` Willem de Bruijn
2022-04-19 13:52         ` Willem de Bruijn
2022-04-20  1:11         ` Hangbin Liu
2022-04-20 13:12           ` Willem de Bruijn
2022-04-20 13:12             ` Willem de Bruijn
2022-04-18  5:48 ` [PATCH net 0/2] net: fix kernel dropping GSO tagged packets Hangbin Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220418044339.127545-1-liuhangbin@gmail.com \
    --to=liuhangbin@gmail.com \
    --cc=bnemeth@redhat.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=jasowang@redhat.com \
    --cc=kuba@kernel.org \
    --cc=mailmpattric@redhat.com \
    --cc=maximmi@mellanox.com \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=willemb@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.