diff options
author | Andrey Ignatov <rdna@fb.com> | 2018-05-29 16:29:31 -0400 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-05-30 06:53:00 -0400 |
commit | 13a370b9d275959ac75e92dc14e43eeae75804f8 (patch) | |
tree | 62bb65e893d81a9efa2cf3b1486f6459d9cf6bde /tools/bpf | |
parent | ee7dbd974797e6dcbfd0df6d3c2d95a5a55ac0c8 (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.rst | 9 | ||||
-rw-r--r-- | tools/bpf/bpftool/bash-completion/bpftool | 5 | ||||
-rw-r--r-- | tools/bpf/bpftool/cgroup.c | 4 |
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 | ||
33 | DESCRIPTION | 34 | DESCRIPTION |
@@ -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 | ||
25 | static const char * const attach_type_strings[] = { | 25 | static 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 | ||