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: <168132893055.340624.16209448340644513469.stgit@firesoul> Date: Wed, 12 Apr 2023 21:48:50 +0200 From: Jesper Dangaard Brouer <brouer@...hat.com> To: bpf@...r.kernel.org, Stanislav Fomichev <sdf@...gle.com>, Toke Høiland-Jørgensen <toke@...hat.com> Cc: Jesper Dangaard Brouer <brouer@...hat.com>, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, martin.lau@...nel.org, ast@...nel.org, daniel@...earbox.net, alexandr.lobakin@...el.com, larysa.zaremba@...el.com, xdp-hints@...-project.net, anthony.l.nguyen@...el.com, yoong.siang.song@...el.com, boon.leong.ong@...el.com, intel-wired-lan@...ts.osuosl.org, pabeni@...hat.com, jesse.brandeburg@...el.com, kuba@...nel.org, edumazet@...gle.com, john.fastabend@...il.com, hawk@...nel.org, davem@...emloft.net, tariqt@...dia.com, saeedm@...dia.com, leon@...nel.org, linux-rdma@...r.kernel.org Subject: [PATCH bpf V10 4/6] veth: bpf_xdp_metadata_rx_hash add xdp rss hash type Update API for bpf_xdp_metadata_rx_hash() with arg for xdp rss hash type. The veth driver currently only support XDP-hints based on SKB code path. The SKB have lost information about the RSS hash type, by compressing the information down to a single bitfield skb->l4_hash, that only knows if this was a L4 hash value. In preparation for veth, the xdp_rss_hash_type have an L4 indication bit that allow us to return a meaningful L4 indication when working with SKB based packets. Fixes: 306531f0249f ("veth: Support RX XDP metadata") Signed-off-by: Jesper Dangaard Brouer <brouer@...hat.com> Acked-by: Toke Høiland-Jørgensen <toke@...hat.com> Acked-by: Stanislav Fomichev <sdf@...gle.com> --- drivers/net/veth.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/veth.c b/drivers/net/veth.c index 424e8876a16b..e1b38fbf1dd9 100644 --- a/drivers/net/veth.c +++ b/drivers/net/veth.c @@ -1652,11 +1652,14 @@ static int veth_xdp_rx_hash(const struct xdp_md *ctx, u32 *hash, enum xdp_rss_hash_type *rss_type) { struct veth_xdp_buff *_ctx = (void *)ctx; + struct sk_buff *skb = _ctx->skb; - if (!_ctx->skb) + if (!skb) return -ENODATA; - *hash = skb_get_hash(_ctx->skb); + *hash = skb_get_hash(skb); + *rss_type = skb->l4_hash ? XDP_RSS_TYPE_L4_ANY : XDP_RSS_TYPE_NONE; + return 0; }
Powered by blists - more mailing lists