Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

bpf: support flow dissector in libbpf and bpftool

This patch extends libbpf and bpftool to work with programs of type
BPF_PROG_TYPE_FLOW_DISSECTOR.

Signed-off-by: Petar Penkov <ppenkov@google.com>
Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>

authored by

Petar Penkov and committed by
Alexei Starovoitov
c22fbae7 2f965e3f

+3
+1
tools/bpf/bpftool/prog.c
··· 74 74 [BPF_PROG_TYPE_RAW_TRACEPOINT] = "raw_tracepoint", 75 75 [BPF_PROG_TYPE_CGROUP_SOCK_ADDR] = "cgroup_sock_addr", 76 76 [BPF_PROG_TYPE_LIRC_MODE2] = "lirc_mode2", 77 + [BPF_PROG_TYPE_FLOW_DISSECTOR] = "flow_dissector", 77 78 }; 78 79 79 80 static void print_boot_time(__u64 nsecs, char *buf, unsigned int size)
+2
tools/lib/bpf/libbpf.c
··· 1502 1502 case BPF_PROG_TYPE_CGROUP_SOCK_ADDR: 1503 1503 case BPF_PROG_TYPE_LIRC_MODE2: 1504 1504 case BPF_PROG_TYPE_SK_REUSEPORT: 1505 + case BPF_PROG_TYPE_FLOW_DISSECTOR: 1505 1506 return false; 1506 1507 case BPF_PROG_TYPE_UNSPEC: 1507 1508 case BPF_PROG_TYPE_KPROBE: ··· 2122 2121 BPF_PROG_SEC("sk_skb", BPF_PROG_TYPE_SK_SKB), 2123 2122 BPF_PROG_SEC("sk_msg", BPF_PROG_TYPE_SK_MSG), 2124 2123 BPF_PROG_SEC("lirc_mode2", BPF_PROG_TYPE_LIRC_MODE2), 2124 + BPF_PROG_SEC("flow_dissector", BPF_PROG_TYPE_FLOW_DISSECTOR), 2125 2125 BPF_SA_PROG_SEC("cgroup/bind4", BPF_CGROUP_INET4_BIND), 2126 2126 BPF_SA_PROG_SEC("cgroup/bind6", BPF_CGROUP_INET6_BIND), 2127 2127 BPF_SA_PROG_SEC("cgroup/connect4", BPF_CGROUP_INET4_CONNECT),