bpftool: Support sendmsg{4,6} attach types
authorAndrey Ignatov <rdna@fb.com>
Tue, 29 May 2018 20:29:31 +0000 (13:29 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 30 May 2018 10:53:00 +0000 (12:53 +0200)
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>
tools/bpf/bpftool/Documentation/bpftool-cgroup.rst
tools/bpf/bpftool/bash-completion/bpftool
tools/bpf/bpftool/cgroup.c

index d004f6382dabdd38fdf61d693e3790d9361f8e41..7b0e6d453e922f4db9f4536c217a76acd6b10d4b 100644 (file)
@@ -27,7 +27,8 @@ MAP COMMANDS
 |
 |      *PROG* := { **id** *PROG_ID* | **pinned** *FILE* | **tag** *PROG_TAG* }
 |      *ATTACH_TYPE* := { **ingress** | **egress** | **sock_create** | **sock_ops** | **device** |
-|              **bind4** | **bind6** | **post_bind4** | **post_bind6** | **connect4** | **connect6** }
+|              **bind4** | **bind6** | **post_bind4** | **post_bind6** | **connect4** | **connect6** |
+|               **sendmsg4** | **sendmsg6** }
 |      *ATTACH_FLAGS* := { **multi** | **override** }
 
 DESCRIPTION
@@ -70,7 +71,11 @@ DESCRIPTION
                  **post_bind4** return from bind(2) for an inet4 socket (since 4.17);
                  **post_bind6** return from bind(2) for an inet6 socket (since 4.17);
                  **connect4** call to connect(2) for an inet4 socket (since 4.17);
-                 **connect6** call to connect(2) for an inet6 socket (since 4.17).
+                 **connect6** call to connect(2) for an inet6 socket (since 4.17);
+                 **sendmsg4** call to sendto(2), sendmsg(2), sendmmsg(2) for an
+                 unconnected udp4 socket (since 4.18);
+                 **sendmsg6** call to sendto(2), sendmsg(2), sendmmsg(2) for an
+                 unconnected udp6 socket (since 4.18).
 
        **bpftool cgroup detach** *CGROUP* *ATTACH_TYPE* *PROG*
                  Detach *PROG* from the cgroup *CGROUP* and attach type
index 7bc198d60de2d0b0dcd606a1303212ffe0791a73..1e108332164367a769c798dfd75c89dcca9e413b 100644 (file)
@@ -407,7 +407,7 @@ _bpftool()
                 attach|detach)
                     local ATTACH_TYPES='ingress egress sock_create sock_ops \
                         device bind4 bind6 post_bind4 post_bind6 connect4 \
-                        connect6'
+                        connect6 sendmsg4 sendmsg6'
                     local ATTACH_FLAGS='multi override'
                     local PROG_TYPE='id pinned tag'
                     case $prev in
@@ -416,7 +416,8 @@ _bpftool()
                             return 0
                             ;;
                         ingress|egress|sock_create|sock_ops|device|bind4|bind6|\
-                        post_bind4|post_bind6|connect4|connect6)
+                        post_bind4|post_bind6|connect4|connect6|sendmsg4|\
+                        sendmsg6)
                             COMPREPLY=( $( compgen -W "$PROG_TYPE" -- \
                                 "$cur" ) )
                             return 0
index 1351bd6b5aa7d4e87118b5f0a7c19275631ee49e..16bee011e16cc883e99fcc49451b896ce713d636 100644 (file)
@@ -20,7 +20,7 @@
        "       ATTACH_TYPE := { ingress | egress | sock_create |\n"           \
        "                        sock_ops | device | bind4 | bind6 |\n"        \
        "                        post_bind4 | post_bind6 | connect4 |\n"       \
-       "                        connect6 }"
+       "                        connect6 | sendmsg4 | sendmsg6 }"
 
 static const char * const attach_type_strings[] = {
        [BPF_CGROUP_INET_INGRESS] = "ingress",
@@ -34,6 +34,8 @@ static const char * const attach_type_strings[] = {
        [BPF_CGROUP_INET6_CONNECT] = "connect6",
        [BPF_CGROUP_INET4_POST_BIND] = "post_bind4",
        [BPF_CGROUP_INET6_POST_BIND] = "post_bind6",
+       [BPF_CGROUP_UDP4_SENDMSG] = "sendmsg4",
+       [BPF_CGROUP_UDP6_SENDMSG] = "sendmsg6",
        [__MAX_BPF_ATTACH_TYPE] = NULL,
 };