lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <ZQMy/FEgxaLsRb8n@lincoln> Date: Thu, 14 Sep 2023 18:21:16 +0200 From: Larysa Zaremba <larysa.zaremba@...el.com> To: Alexander Lobakin <aleksander.lobakin@...el.com> CC: <bpf@...r.kernel.org>, <ast@...nel.org>, <daniel@...earbox.net>, <andrii@...nel.org>, <martin.lau@...ux.dev>, <song@...nel.org>, <yhs@...com>, <john.fastabend@...il.com>, <kpsingh@...nel.org>, <sdf@...gle.com>, <haoluo@...gle.com>, <jolsa@...nel.org>, David Ahern <dsahern@...il.com>, Jakub Kicinski <kuba@...nel.org>, Willem de Bruijn <willemb@...gle.com>, Jesper Dangaard Brouer <brouer@...hat.com>, Anatoly Burakov <anatoly.burakov@...el.com>, Alexander Lobakin <alexandr.lobakin@...el.com>, Magnus Karlsson <magnus.karlsson@...il.com>, Maryam Tahhan <mtahhan@...hat.com>, <xdp-hints@...-project.net>, <netdev@...r.kernel.org>, Willem de Bruijn <willemdebruijn.kernel@...il.com>, Alexei Starovoitov <alexei.starovoitov@...il.com>, Simon Horman <simon.horman@...igine.com>, Tariq Toukan <tariqt@...lanox.com>, Saeed Mahameed <saeedm@...lanox.com> Subject: Re: [RFC bpf-next 09/23] xdp: Add VLAN tag hint On Thu, Sep 14, 2023 at 06:18:40PM +0200, Alexander Lobakin wrote: > From: Larysa Zaremba <larysa.zaremba@...el.com> > Date: Thu, 24 Aug 2023 21:26:48 +0200 > > > Implement functionality that enables drivers to expose VLAN tag > > to XDP code. > > I'd leave a couple more words here. Mention that it exports both tag and > protocol, for example. That TCI is host-Endian and proto is BE (just > like how skb stores them and it's fine). > OK > > > > Signed-off-by: Larysa Zaremba <larysa.zaremba@...el.com> > > --- > > Documentation/networking/xdp-rx-metadata.rst | 8 ++++- > > include/net/xdp.h | 4 +++ > > kernel/bpf/offload.c | 2 ++ > > net/core/xdp.c | 34 ++++++++++++++++++++ > > 4 files changed, 47 insertions(+), 1 deletion(-) > > > > diff --git a/Documentation/networking/xdp-rx-metadata.rst b/Documentation/networking/xdp-rx-metadata.rst > > index 25ce72af81c2..ea6dd79a21d3 100644 > > --- a/Documentation/networking/xdp-rx-metadata.rst > > +++ b/Documentation/networking/xdp-rx-metadata.rst > > @@ -18,7 +18,13 @@ Currently, the following kfuncs are supported. In the future, as more > > metadata is supported, this set will grow: > > > > .. kernel-doc:: net/core/xdp.c > > - :identifiers: bpf_xdp_metadata_rx_timestamp bpf_xdp_metadata_rx_hash > > + :identifiers: bpf_xdp_metadata_rx_timestamp > > + > > +.. kernel-doc:: net/core/xdp.c > > + :identifiers: bpf_xdp_metadata_rx_hash > > + > > +.. kernel-doc:: net/core/xdp.c > > + :identifiers: bpf_xdp_metadata_rx_vlan_tag > > > > An XDP program can use these kfuncs to read the metadata into stack > > variables for its own consumption. Or, to pass the metadata on to other > > diff --git a/include/net/xdp.h b/include/net/xdp.h > > index 1e9870d5f025..8bb64fc76498 100644 > > --- a/include/net/xdp.h > > +++ b/include/net/xdp.h > > @@ -388,6 +388,8 @@ void xdp_attachment_setup(struct xdp_attachment_info *info, > > bpf_xdp_metadata_rx_timestamp) \ > > XDP_METADATA_KFUNC(XDP_METADATA_KFUNC_RX_HASH, \ > > bpf_xdp_metadata_rx_hash) \ > > + XDP_METADATA_KFUNC(XDP_METADATA_KFUNC_RX_VLAN_TAG, \ > > + bpf_xdp_metadata_rx_vlan_tag) \ > > > > enum { > > #define XDP_METADATA_KFUNC(name, _) name, > > @@ -449,6 +451,8 @@ struct xdp_metadata_ops { > > int (*xmo_rx_timestamp)(const struct xdp_md *ctx, u64 *timestamp); > > int (*xmo_rx_hash)(const struct xdp_md *ctx, u32 *hash, > > enum xdp_rss_hash_type *rss_type); > > + int (*xmo_rx_vlan_tag)(const struct xdp_md *ctx, u16 *vlan_tci, > > + __be16 *vlan_proto); > > Was "TCI first, proto second" aligned with something or I can ask "why > not proto first, TCI second"? No particular reason. Now I have looked it up and this is the other way in all places >_<. I do probably need to switch this. Time to put my regular expressions skills to the test. > > > }; > > > > #ifdef CONFIG_NET > > [...] > > Thanks, > Olek
Powered by blists - more mailing lists