netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).