* pull-request: bpf-next 2025-04-17
@ 2025-04-17 18:43 Martin KaFai Lau
2025-04-22 1:54 ` Jakub Kicinski
2025-04-22 9:11 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 4+ messages in thread
From: Martin KaFai Lau @ 2025-04-17 18:43 UTC (permalink / raw)
To: David Miller, Jakub Kicinski, Eric Dumazet, Paolo Abeni
Cc: Alexei Starovoitov, Andrii Nakryiko, Daniel Borkmann,
Martin KaFai Lau, netdev, bpf
Hi David, hi Jakub, hi Paolo, hi Eric,
The following pull-request contains BPF updates for your *net-next* tree.
We've added 12 non-merge commits during the last 9 day(s) which contain
a total of 18 files changed, 1748 insertions(+), 19 deletions(-).
The main changes are:
1) bpf qdisc support, from Amery Hung.
A qdisc can be implemented in bpf struct_ops programs and
can be used the same as other existing qdiscs in the
"tc qdisc" command.
2) Add xsk tail adjustment tests, from Tushar Vyavahare.
Please consider pulling these changes from:
git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/for-netdev
Thanks a lot!
Also thanks to reporters, reviewers and testers of commits in this pull-request:
Cong Wang, Maciej Fijalkowski, Toke Høiland-Jørgensen
----------------------------------------------------------------
The following changes since commit 0f681b0ecd190fb4516bb34cec227296b10533d1:
net: ena: Support persistent per-NAPI config. (2025-04-08 12:34:32 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/for-netdev
for you to fetch changes up to fd23ce3eb4a1005bd109977856d12ec0fde7ef75:
Merge branch 'bpf-qdisc' (2025-04-17 10:54:41 -0700)
----------------------------------------------------------------
bpf-next-for-netdev
----------------------------------------------------------------
Amery Hung (10):
bpf: Prepare to reuse get_ctx_arg_idx
bpf: net_sched: Support implementation of Qdisc_ops in bpf
bpf: net_sched: Add basic bpf qdisc kfuncs
bpf: net_sched: Add a qdisc watchdog timer
bpf: net_sched: Support updating bstats
bpf: net_sched: Disable attaching bpf qdisc to non root
libbpf: Support creating and destroying qdisc
selftests/bpf: Add a basic fifo qdisc test
selftests/bpf: Add a bpf fq qdisc to selftest
selftests/bpf: Test attaching bpf qdisc to mq and non root
Martin KaFai Lau (2):
Merge branch 'selftests-xsk-add-tests-for-xdp-tail-adjustment-in-af_xdp'
Merge branch 'bpf-qdisc'
Tushar Vyavahare (2):
selftests/xsk: Add packet stream replacement function
selftests/xsk: Add tail adjustment tests and support check
include/linux/btf.h | 1 +
kernel/bpf/btf.c | 6 +-
net/sched/Kconfig | 12 +
net/sched/Makefile | 1 +
net/sched/bpf_qdisc.c | 461 +++++++++++++
net/sched/sch_api.c | 7 +-
net/sched/sch_generic.c | 3 +-
tools/lib/bpf/libbpf.h | 5 +-
tools/lib/bpf/netlink.c | 20 +-
tools/testing/selftests/bpf/config | 2 +
tools/testing/selftests/bpf/prog_tests/bpf_qdisc.c | 180 +++++
.../testing/selftests/bpf/progs/bpf_qdisc_common.h | 31 +
tools/testing/selftests/bpf/progs/bpf_qdisc_fifo.c | 117 ++++
tools/testing/selftests/bpf/progs/bpf_qdisc_fq.c | 750 +++++++++++++++++++++
tools/testing/selftests/bpf/progs/xsk_xdp_progs.c | 50 ++
tools/testing/selftests/bpf/xsk_xdp_common.h | 1 +
tools/testing/selftests/bpf/xskxceiver.c | 118 +++-
tools/testing/selftests/bpf/xskxceiver.h | 2 +
18 files changed, 1748 insertions(+), 19 deletions(-)
create mode 100644 net/sched/bpf_qdisc.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/bpf_qdisc.c
create mode 100644 tools/testing/selftests/bpf/progs/bpf_qdisc_common.h
create mode 100644 tools/testing/selftests/bpf/progs/bpf_qdisc_fifo.c
create mode 100644 tools/testing/selftests/bpf/progs/bpf_qdisc_fq.c
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: pull-request: bpf-next 2025-04-17
2025-04-17 18:43 pull-request: bpf-next 2025-04-17 Martin KaFai Lau
@ 2025-04-22 1:54 ` Jakub Kicinski
2025-04-22 18:49 ` Martin KaFai Lau
2025-04-22 9:11 ` patchwork-bot+netdevbpf
1 sibling, 1 reply; 4+ messages in thread
From: Jakub Kicinski @ 2025-04-22 1:54 UTC (permalink / raw)
To: Martin KaFai Lau
Cc: David Miller, Eric Dumazet, Paolo Abeni, Alexei Starovoitov,
Andrii Nakryiko, Daniel Borkmann, Martin KaFai Lau, netdev, bpf
On Thu, 17 Apr 2025 11:43:37 -0700 Martin KaFai Lau wrote:
> 1) bpf qdisc support, from Amery Hung.
> A qdisc can be implemented in bpf struct_ops programs and
> can be used the same as other existing qdiscs in the
> "tc qdisc" command.
Hm, it doesn't build in allmodconfig. Is there a strong reason for it?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: pull-request: bpf-next 2025-04-17
2025-04-17 18:43 pull-request: bpf-next 2025-04-17 Martin KaFai Lau
2025-04-22 1:54 ` Jakub Kicinski
@ 2025-04-22 9:11 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-04-22 9:11 UTC (permalink / raw)
To: Martin KaFai Lau
Cc: davem, kuba, edumazet, pabeni, ast, andrii, daniel, martin.lau,
netdev, bpf
Hello:
This pull request was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Thu, 17 Apr 2025 11:43:37 -0700 you wrote:
> Hi David, hi Jakub, hi Paolo, hi Eric,
>
> The following pull-request contains BPF updates for your *net-next* tree.
>
> We've added 12 non-merge commits during the last 9 day(s) which contain
> a total of 18 files changed, 1748 insertions(+), 19 deletions(-).
>
> [...]
Here is the summary with links:
- pull-request: bpf-next 2025-04-17
https://git.kernel.org/netdev/net-next/c/07e32237ed9d
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: pull-request: bpf-next 2025-04-17
2025-04-22 1:54 ` Jakub Kicinski
@ 2025-04-22 18:49 ` Martin KaFai Lau
0 siblings, 0 replies; 4+ messages in thread
From: Martin KaFai Lau @ 2025-04-22 18:49 UTC (permalink / raw)
To: Jakub Kicinski
Cc: David Miller, Eric Dumazet, Paolo Abeni, Alexei Starovoitov,
Andrii Nakryiko, Daniel Borkmann, Martin KaFai Lau, netdev, bpf,
Amery Hung
On 4/21/25 6:54 PM, Jakub Kicinski wrote:
> On Thu, 17 Apr 2025 11:43:37 -0700 Martin KaFai Lau wrote:
>> 1) bpf qdisc support, from Amery Hung.
>> A qdisc can be implemented in bpf struct_ops programs and
>> can be used the same as other existing qdiscs in the
>> "tc qdisc" command.
>
> Hm, it doesn't build in allmodconfig. Is there a strong reason for it?
The bpf_qdisc.c is enforcing some correctness in the bpf
Qdisc_op.{init,reset,destroy}. For example, it ensures that
qdisc_watchdog_cancel is done in reset/destroy.
It is done by patching the bpf .reset prog and call a kfunc to ensure the
cleanup work is done. Patching with mod kfunc is not supported now. We can
consider to directly use BPF_EMIT_CALL to support mod helper call which should
be simpler verifier changes.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-04-22 18:49 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-17 18:43 pull-request: bpf-next 2025-04-17 Martin KaFai Lau
2025-04-22 1:54 ` Jakub Kicinski
2025-04-22 18:49 ` Martin KaFai Lau
2025-04-22 9:11 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).