在 2024/8/16 09:06, Martin KaFai Lau 写道:
On 8/14/24 2:50 AM, Feng zhou wrote:
From: Feng Zhou <zhoufeng.zf@xxxxxxxxxxxxx>
At cg_skb hook point, can get classid for v1 or v2, allowing
users to do more functions such as acl.
Signed-off-by: Feng Zhou <zhoufeng.zf@xxxxxxxxxxxxx>
---
net/core/filter.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/net/core/filter.c b/net/core/filter.c
index 78a6f746ea0b..d69ba589882f 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -8111,6 +8111,12 @@ cg_skb_func_proto(enum bpf_func_id func_id,
const struct bpf_prog *prog)
return &bpf_get_listener_sock_proto;
case BPF_FUNC_skb_ecn_set_ce:
return &bpf_skb_ecn_set_ce_proto;
+ case BPF_FUNC_get_cgroup_classid:
+ return &bpf_get_cgroup_classid_proto;
+#endif
+#ifdef CONFIG_CGROUP_NET_CLASSID
+ case BPF_FUNC_skb_cgroup_classid:
+ return &bpf_skb_cgroup_classid_proto;
With this bpf_skb_cgroup_classid_proto, is the above
bpf_get_cgroup_classid_proto necessary?
The cg_skb hook must have a skb->sk.
Yes, just add bpf_skb_cgroup_classid_proto.
Please add a selftest and tag the subject with bpf-next.
Will do, thanks.
pw-bot: cr
#endif
default:
return sk_filter_func_proto(func_id, prog);