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>,
"Michael S . Tsirkin" <mst@redhat.com>,
Tanner Love <tannerlove@google.com>
Subject: Re: [PATCH net-next v4 2/3] virtio_net: add optional flow dissection in virtio_net_hdr_to_skb
Date: Thu, 10 Jun 2021 11:09:02 +0800 [thread overview]
Message-ID: <17315e5a-ee1c-489c-a6bf-0fa26371d710@redhat.com> (raw)
In-Reply-To: <20210608170224.1138264-3-tannerlove.kernel@gmail.com>
在 2021/6/9 上午1:02, Tanner Love 写道:
> retry:
> - if (!skb_flow_dissect_flow_keys_basic(NULL, skb, &keys,
> + /* only if flow dissection not already done */
> + if (!static_branch_unlikely(&sysctl_flow_dissect_vnet_hdr_key) &&
> + !skb_flow_dissect_flow_keys_basic(NULL, skb, &keys,
> NULL, 0, 0, 0,
> 0)) {
So I still wonder the benefit we could gain from reusing the bpf flow
dissector here. Consider the only context we need is the flow keys, we
had two choices
a1) embed the vnet header checking inside bpf flow dissector
a2) introduce a dedicated eBPF type for doing that
And we have two ways to access the vnet header
b1) via pesudo __sk_buff
b2) introduce bpf helpers
I second for a2 and b2. The main motivation is to hide the vnet header
details from the bpf subsystem.
Thanks
next prev parent reply other threads:[~2021-06-10 3:27 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-08 17:02 [PATCH net-next v4 0/3] virtio_net: add optional flow dissection in virtio_net_hdr_to_skb Tanner Love
2021-06-08 17:02 ` [PATCH net-next v4 1/3] net: flow_dissector: extend bpf flow dissector support with vnet hdr Tanner Love
2021-06-08 22:08 ` Martin KaFai Lau
[not found] ` <CAOckAf8W04ynA4iXXzBe8kB_yauH9TKEJ_o6tt9tQuTJBx-G6A@mail.gmail.com>
2021-06-09 18:24 ` Martin KaFai Lau
2021-06-08 17:02 ` [PATCH net-next v4 2/3] virtio_net: add optional flow dissection in virtio_net_hdr_to_skb Tanner Love
2021-06-10 3:09 ` Jason Wang [this message]
2021-06-10 3:15 ` Willem de Bruijn
2021-06-10 3:53 ` Jason Wang
2021-06-10 4:05 ` Alexei Starovoitov
2021-06-10 4:13 ` Jason Wang
2021-06-10 4:19 ` Alexei Starovoitov
2021-06-10 5:23 ` Jason Wang
2021-06-10 14:04 ` Willem de Bruijn
2021-06-11 2:10 ` Jason Wang
2021-06-11 2:45 ` Willem de Bruijn
2021-06-11 3:38 ` Jason Wang
2021-06-11 14:12 ` Willem de Bruijn
2021-06-14 20:41 ` Tanner Love
2021-06-15 8:57 ` Jason Wang
2021-06-15 8:55 ` Jason Wang
2021-06-15 14:47 ` Willem de Bruijn
2021-06-16 10:21 ` Jason Wang
2021-06-17 14:43 ` Willem de Bruijn
2021-06-21 6:33 ` Jason Wang
2021-06-21 13:18 ` Willem de Bruijn
2021-06-22 2:37 ` Jason Wang
2021-06-08 17:02 ` [PATCH net-next v4 3/3] selftests/net: amend bpf flow dissector prog to do vnet hdr validation Tanner Love
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=17315e5a-ee1c-489c-a6bf-0fa26371d710@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.