Add a helper function to get socket cookie in eBPF
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. Acked-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Willem de Bruijn <willemb@google.com> Signed-off-by: Chenbo Feng <fengc@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
16ae1f2236
commit
91b8270f2a
@@ -459,6 +459,12 @@ union bpf_attr {
|
||||
* Return:
|
||||
* > 0 length of the string including the trailing NUL on success
|
||||
* < 0 error
|
||||
*
|
||||
* u64 bpf_bpf_get_socket_cookie(skb)
|
||||
* Get the cookie for the socket stored inside sk_buff.
|
||||
* @skb: pointer to skb
|
||||
* Return: 8 Bytes non-decreasing number on success or 0 if the socket
|
||||
* field is missing inside sk_buff
|
||||
*/
|
||||
#define __BPF_FUNC_MAPPER(FN) \
|
||||
FN(unspec), \
|
||||
@@ -506,7 +512,8 @@ union bpf_attr {
|
||||
FN(get_numa_node_id), \
|
||||
FN(skb_change_head), \
|
||||
FN(xdp_adjust_head), \
|
||||
FN(probe_read_str),
|
||||
FN(probe_read_str), \
|
||||
FN(get_socket_cookie),
|
||||
|
||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||
* function eBPF program intends to call
|
||||
|
Reference in New Issue
Block a user