All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: Tanner Love <tannerlove.kernel@gmail.com>, netdev@vger.kernel.org
Cc: davem@davemloft.net, Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Andrii Nakryiko <andrii@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	Willem de Bruijn <willemb@google.com>,
	Petar Penkov <ppenkov@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Tanner Love <tannerlove@google.com>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [PATCH net-next v3 0/3] virtio_net: add optional flow dissection in virtio_net_hdr_to_skb
Date: Fri, 4 Jun 2021 10:55:28 +0800	[thread overview]
Message-ID: <eef275f7-38c5-6967-7678-57dd5d59cf76@redhat.com> (raw)
In-Reply-To: <20210601221841.1251830-1-tannerlove.kernel@gmail.com>


在 2021/6/2 上午6:18, Tanner Love 写道:
> From: Tanner Love <tannerlove@google.com>
>
> First patch extends the flow dissector BPF program type to accept
> virtio-net header members.
>
> Second patch uses this feature to add optional flow dissection in
> virtio_net_hdr_to_skb(). This allows admins to define permitted
> packets more strictly, for example dropping deprecated UDP_UFO
> packets.
>
> Third patch extends kselftest to cover this feature.


I wonder why virtio maintainers is not copied in this series.

Several questions:

1) having bpf core to know about virito-net header seems like a layer 
violation, it doesn't scale as we may add new fields, actually there's 
already fields that is not implemented in the spec but not Linux right now.
2) virtio_net_hdr_to_skb() is not the single entry point, packet could 
go via XDP
3) I wonder whether we can simply use XDP to solve this issue (metadata 
probably but I don't have a deep thought)
4) If I understand the code correctly, it should deal with all dodgy 
packets instead of just for virtio

Thanks


>
> Tanner Love (3):
>    net: flow_dissector: extend bpf flow dissector support with vnet hdr
>    virtio_net: add optional flow dissection in virtio_net_hdr_to_skb
>    selftests/net: amend bpf flow dissector prog to do vnet hdr validation
>
>   drivers/net/bonding/bond_main.c               |   2 +-
>   include/linux/skbuff.h                        |  26 ++-
>   include/linux/virtio_net.h                    |  25 ++-
>   include/net/flow_dissector.h                  |   6 +
>   include/uapi/linux/bpf.h                      |   6 +
>   net/core/filter.c                             |  55 +++++
>   net/core/flow_dissector.c                     |  27 ++-
>   net/core/sysctl_net_core.c                    |   9 +
>   tools/include/uapi/linux/bpf.h                |   6 +
>   tools/testing/selftests/bpf/progs/bpf_flow.c  | 188 +++++++++++++-----
>   .../selftests/bpf/test_flow_dissector.c       | 181 +++++++++++++++--
>   .../selftests/bpf/test_flow_dissector.sh      |  19 ++
>   12 files changed, 470 insertions(+), 80 deletions(-)
>


  parent reply	other threads:[~2021-06-04  2:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-01 22:18 [PATCH net-next v3 0/3] virtio_net: add optional flow dissection in virtio_net_hdr_to_skb Tanner Love
2021-06-01 22:18 ` [PATCH net-next v3 1/3] net: flow_dissector: extend bpf flow dissector support with vnet hdr Tanner Love
2021-06-03 15:39   ` sdf
2021-06-01 22:18 ` [PATCH net-next v3 2/3] virtio_net: add optional flow dissection in virtio_net_hdr_to_skb Tanner Love
2021-06-03 15:54   ` sdf
2021-06-03 23:56   ` Alexei Starovoitov
2021-06-04  0:44     ` Willem de Bruijn
2021-06-04  2:04       ` Alexei Starovoitov
2021-06-01 22:18 ` [PATCH net-next v3 3/3] selftests/net: amend bpf flow dissector prog to do vnet hdr validation Tanner Love
2021-06-02 20:10 ` [PATCH net-next v3 0/3] virtio_net: add optional flow dissection in virtio_net_hdr_to_skb David Miller
2021-06-02 23:16   ` Alexei Starovoitov
2021-06-04  2:55 ` Jason Wang [this message]
2021-06-04  3:51   ` Willem de Bruijn
2021-06-04  6:43     ` Jason Wang
2021-06-04 14:43       ` Willem de Bruijn

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=eef275f7-38c5-6967-7678-57dd5d59cf76@redhat.com \
    --to=jasowang@redhat.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=ppenkov@google.com \
    --cc=tannerlove.kernel@gmail.com \
    --cc=tannerlove@google.com \
    --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.