[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3a82adb1-c839-4e82-834f-a63f9910b28d@linux.alibaba.com>
Date: Tue, 16 Jan 2024 21:46:14 +0800
From: "D. Wythe" <alibuda@...ux.alibaba.com>
To: pablo@...filter.org, kadlec@...filter.org, fw@...len.de
Cc: bpf@...r.kernel.org, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, coreteam@...filter.org,
netfilter-devel@...r.kernel.org, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com, ast@...nel.org
Subject: Re: [RFC nf-next v5 0/2] netfilter: bpf: support prog update
Just a reminder to avoid forgetting this patch by everyone. 🙂
Best wishes,
D. Wythe
On 1/2/24 2:11 PM, D. Wythe wrote:
> From: "D. Wythe" <alibuda@...ux.alibaba.com>
>
> This patches attempt to implements updating of progs within
> bpf netfilter link, allowing user update their ebpf netfilter
> prog in hot update manner.
>
> Besides, a corresponding test case has been added to verify
> whether the update works.
> --
> v1:
> 1. remove unnecessary context, access the prog directly via rcu.
> 2. remove synchronize_rcu(), dealloc the nf_link via kfree_rcu.
> 3. check the dead flag during the update.
> --
> v1->v2:
> 1. remove unnecessary nf_prog, accessing nf_link->link.prog in direct.
> --
> v2->v3:
> 1. access nf_link->link.prog via rcu_dereference_raw to avoid warning.
> --
> v3->v4:
> 1. remove mutex for link update, as it is unnecessary and can be replaced
> by atomic operations.
> --
> v4->v5:
> 1. fix error retval check on cmpxhcg
>
> D. Wythe (2):
> netfilter: bpf: support prog update
> selftests/bpf: Add netfilter link prog update test
>
> net/netfilter/nf_bpf_link.c | 50 ++++++++-----
> .../bpf/prog_tests/netfilter_link_update_prog.c | 83 ++++++++++++++++++++++
> .../bpf/progs/test_netfilter_link_update_prog.c | 24 +++++++
> 3 files changed, 141 insertions(+), 16 deletions(-)
> create mode 100644 tools/testing/selftests/bpf/prog_tests/netfilter_link_update_prog.c
> create mode 100644 tools/testing/selftests/bpf/progs/test_netfilter_link_update_prog.c
>
Powered by blists - more mailing lists