Re: [PATCH net-next v4 1/3] Add a helper function to get socket cookie in eBPF
From: Alexei Starovoitov <hidden>
Date: 2017-03-20 16:00:46
On Sun, Mar 19, 2017 at 05:08:42PM -0700, Chenbo Feng wrote:
From: Chenbo Feng <redacted> Retrieve the socket cookie generated by sock_gen_cookie() from a sk_buff with a known socket. Generates a new cookie if one was not yet set.If the socket pointer inside sk_buff is NULL, 0 is returned. The helper function coud be useful in monitoring per socket networking traffic statistics and provide a unique socket identifier per namespace. Signed-off-by: Chenbo Feng <redacted>
Acked-by: Alexei Starovoitov <ast@kernel.org>
quoted hunk ↗ jump to hunk
@@ -2633,6 +2646,8 @@ sk_filter_func_proto(enum bpf_func_id func_id) switch (func_id) { case BPF_FUNC_skb_load_bytes: return &bpf_skb_load_bytes_proto; + case BPF_FUNC_get_socket_cookie: + return &bpf_get_socket_cookie_proto; default: return bpf_base_func_proto(func_id); }@@ -2692,6 +2707,8 @@ tc_cls_act_func_proto(enum bpf_func_id func_id) return &bpf_get_smp_processor_id_proto; case BPF_FUNC_skb_under_cgroup: return &bpf_skb_under_cgroup_proto; + case BPF_FUNC_get_socket_cookie: + return &bpf_get_socket_cookie_proto; default: return bpf_base_func_proto(func_id);
Not related to this patch, but we probably need a separate cleanup to enable these two new helpers on lwt and cg_skb. All of them should probably be calling sk_filter_func_proto() instead of bpf_base_func_proto().