On Sun, Mar 19, 2017 at 05:08:42PM -0700, Chenbo Feng wrote: > From: Chenbo Feng <[email protected]> > > 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 <[email protected]>
Acked-by: Alexei Starovoitov <[email protected]> > @@ -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().
