summaryrefslogtreecommitdiffstats
path: root/tools/bpf
diff options
context:
space:
mode:
authorAndrey Ignatov <rdna@fb.com>2018-05-29 16:29:31 -0400
committerDaniel Borkmann <daniel@iogearbox.net>2018-05-30 06:53:00 -0400
commit13a370b9d275959ac75e92dc14e43eeae75804f8 (patch)
tree62bb65e893d81a9efa2cf3b1486f6459d9cf6bde /tools/bpf
parentee7dbd974797e6dcbfd0df6d3c2d95a5a55ac0c8 (diff)
bpftool: Support sendmsg{4,6} attach types
Add support for recently added BPF_CGROUP_UDP4_SENDMSG and BPF_CGROUP_UDP6_SENDMSG attach types to bpftool, update documentation and bash completion. Signed-off-by: Andrey Ignatov <rdna@fb.com> Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Song Liu <songliubraving@fb.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/bpf')
-rw-r--r--tools/bpf/bpftool/Documentation/bpftool-cgroup.rst9
-rw-r--r--tools/bpf/bpftool/bash-completion/bpftool5
-rw-r--r--tools/bpf/bpftool/cgroup.c4
3 files changed, 13 insertions, 5 deletions
diff --git a/tools/bpf/bpftool/Documentation/bpftool-cgroup.rst b/tools/bpf/bpftool/Documentation/bpftool-cgroup.rst
index d004f6382dab..7b0e6d453e92 100644
--- a/tools/bpf/bpftool/Documentation/bpftool-cgroup.rst
+++ b/tools/bpf/bpftool/Documentation/bpftool-cgroup.rst
@@ -27,7 +27,8 @@ MAP COMMANDS
27| 27|
28| *PROG* := { **id** *PROG_ID* | **pinned** *FILE* | **tag** *PROG_TAG* } 28| *PROG* := { **id** *PROG_ID* | **pinned** *FILE* | **tag** *PROG_TAG* }
29| *ATTACH_TYPE* := { **ingress** | **egress** | **sock_create** | **sock_ops** | **device** | 29| *ATTACH_TYPE* := { **ingress** | **egress** | **sock_create** | **sock_ops** | **device** |
30| **bind4** | **bind6** | **post_bind4** | **post_bind6** | **connect4** | **connect6** } 30| **bind4** | **bind6** | **post_bind4** | **post_bind6** | **connect4** | **connect6** |
31| **sendmsg4** | **sendmsg6** }
31| *ATTACH_FLAGS* := { **multi** | **override** } 32| *ATTACH_FLAGS* := { **multi** | **override** }
32 33
33DESCRIPTION 34DESCRIPTION
@@ -70,7 +71,11 @@ DESCRIPTION
70 **post_bind4** return from bind(2) for an inet4 socket (since 4.17); 71 **post_bind4** return from bind(2) for an inet4 socket (since 4.17);
71 **post_bind6** return from bind(2) for an inet6 socket (since 4.17); 72 **post_bind6** return from bind(2) for an inet6 socket (since 4.17);
72 **connect4** call to connect(2) for an inet4 socket (since 4.17); 73 **connect4** call to connect(2) for an inet4 socket (since 4.17);
73 **connect6** call to connect(2) for an inet6 socket (since 4.17). 74 **connect6** call to connect(2) for an inet6 socket (since 4.17);
75 **sendmsg4** call to sendto(2), sendmsg(2), sendmmsg(2) for an
76 unconnected udp4 socket (since 4.18);
77 **sendmsg6** call to sendto(2), sendmsg(2), sendmmsg(2) for an
78 unconnected udp6 socket (since 4.18).
74 79
75 **bpftool cgroup detach** *CGROUP* *ATTACH_TYPE* *PROG* 80 **bpftool cgroup detach** *CGROUP* *ATTACH_TYPE* *PROG*
76 Detach *PROG* from the cgroup *CGROUP* and attach type 81 Detach *PROG* from the cgroup *CGROUP* and attach type
diff --git a/tools/bpf/bpftool/bash-completion/bpftool b/tools/bpf/bpftool/bash-completion/bpftool
index 7bc198d60de2..1e1083321643 100644
--- a/tools/bpf/bpftool/bash-completion/bpftool
+++ b/tools/bpf/bpftool/bash-completion/bpftool
@@ -407,7 +407,7 @@ _bpftool()
407 attach|detach) 407 attach|detach)
408 local ATTACH_TYPES='ingress egress sock_create sock_ops \ 408 local ATTACH_TYPES='ingress egress sock_create sock_ops \
409 device bind4 bind6 post_bind4 post_bind6 connect4 \ 409 device bind4 bind6 post_bind4 post_bind6 connect4 \
410 connect6' 410 connect6 sendmsg4 sendmsg6'
411 local ATTACH_FLAGS='multi override' 411 local ATTACH_FLAGS='multi override'
412 local PROG_TYPE='id pinned tag' 412 local PROG_TYPE='id pinned tag'
413 case $prev in 413 case $prev in
@@ -416,7 +416,8 @@ _bpftool()
416 return 0 416 return 0
417 ;; 417 ;;
418 ingress|egress|sock_create|sock_ops|device|bind4|bind6|\ 418 ingress|egress|sock_create|sock_ops|device|bind4|bind6|\
419 post_bind4|post_bind6|connect4|connect6) 419 post_bind4|post_bind6|connect4|connect6|sendmsg4|\
420 sendmsg6)
420 COMPREPLY=( $( compgen -W "$PROG_TYPE" -- \ 421 COMPREPLY=( $( compgen -W "$PROG_TYPE" -- \
421 "$cur" ) ) 422 "$cur" ) )
422 return 0 423 return 0
diff --git a/tools/bpf/bpftool/cgroup.c b/tools/bpf/bpftool/cgroup.c
index 1351bd6b5aa7..16bee011e16c 100644
--- a/tools/bpf/bpftool/cgroup.c
+++ b/tools/bpf/bpftool/cgroup.c
@@ -20,7 +20,7 @@
20 " ATTACH_TYPE := { ingress | egress | sock_create |\n" \ 20 " ATTACH_TYPE := { ingress | egress | sock_create |\n" \
21 " sock_ops | device | bind4 | bind6 |\n" \ 21 " sock_ops | device | bind4 | bind6 |\n" \
22 " post_bind4 | post_bind6 | connect4 |\n" \ 22 " post_bind4 | post_bind6 | connect4 |\n" \
23 " connect6 }" 23 " connect6 | sendmsg4 | sendmsg6 }"
24 24
25static const char * const attach_type_strings[] = { 25static const char * const attach_type_strings[] = {
26 [BPF_CGROUP_INET_INGRESS] = "ingress", 26 [BPF_CGROUP_INET_INGRESS] = "ingress",
@@ -34,6 +34,8 @@ static const char * const attach_type_strings[] = {
34 [BPF_CGROUP_INET6_CONNECT] = "connect6", 34 [BPF_CGROUP_INET6_CONNECT] = "connect6",
35 [BPF_CGROUP_INET4_POST_BIND] = "post_bind4", 35 [BPF_CGROUP_INET4_POST_BIND] = "post_bind4",
36 [BPF_CGROUP_INET6_POST_BIND] = "post_bind6", 36 [BPF_CGROUP_INET6_POST_BIND] = "post_bind6",
37 [BPF_CGROUP_UDP4_SENDMSG] = "sendmsg4",
38 [BPF_CGROUP_UDP6_SENDMSG] = "sendmsg6",
37 [__MAX_BPF_ATTACH_TYPE] = NULL, 39 [__MAX_BPF_ATTACH_TYPE] = NULL,
38}; 40};
39 41