aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/bpf/bpftool/Documentation/bpftool-net.rst
diff options
context:
space:
mode:
authorYonghong Song <yhs@fb.com>2018-09-05 16:58:06 -0700
committerAlexei Starovoitov <ast@kernel.org>2018-09-06 22:34:08 -0700
commitf6f3bac08ff9855d803081a353a1fafaa8845739 (patch)
tree324553e757592bbb787200436c5fa42f7d66ad39 /tools/bpf/bpftool/Documentation/bpftool-net.rst
parenttools/bpf: add more netlink functionalities in lib/bpf (diff)
downloadwireguard-linux-f6f3bac08ff9855d803081a353a1fafaa8845739.tar.xz
wireguard-linux-f6f3bac08ff9855d803081a353a1fafaa8845739.zip
tools/bpf: bpftool: add net support
Add "bpftool net" support. Networking devices are enumerated to dump device index/name associated with xdp progs. For each networking device, tc classes and qdiscs are enumerated in order to check their bpf filters. In addition, root handle and clsact ingress/egress are also checked for bpf filters. Not all filter information is printed out. Only ifindex, kind, filter name, prog_id and tag are printed out, which are good enough to show attachment information. If the filter action is a bpf action, its bpf program id, bpf name and tag will be printed out as well. For example, $ ./bpftool net xdp [ ifindex 2 devname eth0 prog_id 198 ] tc_filters [ ifindex 2 kind qdisc_htb name prefix_matcher.o:[cls_prefix_matcher_htb] prog_id 111727 tag d08fe3b4319bc2fd act [] ifindex 2 kind qdisc_clsact_ingress name fbflow_icmp prog_id 130246 tag 3f265c7f26db62c9 act [] ifindex 2 kind qdisc_clsact_egress name prefix_matcher.o:[cls_prefix_matcher_clsact] prog_id 111726 tag 99a197826974c876 ifindex 2 kind qdisc_clsact_egress name cls_fg_dscp prog_id 108619 tag dc4630674fd72dcc act [] ifindex 2 kind qdisc_clsact_egress name fbflow_egress prog_id 130245 tag 72d2d830d6888d2c ] $ ./bpftool -jp net [{ "xdp": [{ "ifindex": 2, "devname": "eth0", "prog_id": 198 } ], "tc_filters": [{ "ifindex": 2, "kind": "qdisc_htb", "name": "prefix_matcher.o:[cls_prefix_matcher_htb]", "prog_id": 111727, "tag": "d08fe3b4319bc2fd", "act": [] },{ "ifindex": 2, "kind": "qdisc_clsact_ingress", "name": "fbflow_icmp", "prog_id": 130246, "tag": "3f265c7f26db62c9", "act": [] },{ "ifindex": 2, "kind": "qdisc_clsact_egress", "name": "prefix_matcher.o:[cls_prefix_matcher_clsact]", "prog_id": 111726, "tag": "99a197826974c876" },{ "ifindex": 2, "kind": "qdisc_clsact_egress", "name": "cls_fg_dscp", "prog_id": 108619, "tag": "dc4630674fd72dcc", "act": [] },{ "ifindex": 2, "kind": "qdisc_clsact_egress", "name": "fbflow_egress", "prog_id": 130245, "tag": "72d2d830d6888d2c" } ] } ] Signed-off-by: Yonghong Song <yhs@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/bpf/bpftool/Documentation/bpftool-net.rst')
-rw-r--r--tools/bpf/bpftool/Documentation/bpftool-net.rst133
1 files changed, 133 insertions, 0 deletions
diff --git a/tools/bpf/bpftool/Documentation/bpftool-net.rst b/tools/bpf/bpftool/Documentation/bpftool-net.rst
new file mode 100644
index 000000000000..48a61837a264
--- /dev/null
+++ b/tools/bpf/bpftool/Documentation/bpftool-net.rst
@@ -0,0 +1,133 @@
+================
+bpftool-net
+================
+-------------------------------------------------------------------------------
+tool for inspection of netdev/tc related bpf prog attachments
+-------------------------------------------------------------------------------
+
+:Manual section: 8
+
+SYNOPSIS
+========
+
+ **bpftool** [*OPTIONS*] **net** *COMMAND*
+
+ *OPTIONS* := { [{ **-j** | **--json** }] [{ **-p** | **--pretty** }] }
+
+ *COMMANDS* :=
+ { **show** | **list** } [ **dev** name ] | **help**
+
+NET COMMANDS
+============
+
+| **bpftool** **net { show | list } [ dev name ]**
+| **bpftool** **net help**
+
+DESCRIPTION
+===========
+ **bpftool net { show | list } [ dev name ]**
+ List all networking device driver and tc attachment in the system.
+
+ Output will start with all xdp program attachment, followed by
+ all tc class/qdisc bpf program attachments. Both xdp programs and
+ tc programs are ordered based on ifindex number. If multiple bpf
+ programs attached to the same networking device through **tc filter**,
+ the order will be first all bpf programs attached to tc classes, then
+ all bpf programs attached to non clsact qdiscs, and finally all
+ bpf programs attached to root and clsact qdisc.
+
+ **bpftool net help**
+ Print short help message.
+
+OPTIONS
+=======
+ -h, --help
+ Print short generic help message (similar to **bpftool help**).
+
+ -v, --version
+ Print version number (similar to **bpftool version**).
+
+ -j, --json
+ Generate JSON output. For commands that cannot produce JSON, this
+ option has no effect.
+
+ -p, --pretty
+ Generate human-readable JSON output. Implies **-j**.
+
+EXAMPLES
+========
+
+| **# bpftool net**
+
+::
+
+ xdp [
+ ifindex 2 devname eth0 prog_id 198
+ ]
+ tc_filters [
+ ifindex 2 kind qdisc_htb name prefix_matcher.o:[cls_prefix_matcher_htb]
+ prog_id 111727 tag d08fe3b4319bc2fd act []
+ ifindex 2 kind qdisc_clsact_ingress name fbflow_icmp
+ prog_id 130246 tag 3f265c7f26db62c9 act []
+ ifindex 2 kind qdisc_clsact_egress name prefix_matcher.o:[cls_prefix_matcher_clsact]
+ prog_id 111726 tag 99a197826974c876
+ ifindex 2 kind qdisc_clsact_egress name cls_fg_dscp
+ prog_id 108619 tag dc4630674fd72dcc act []
+ ifindex 2 kind qdisc_clsact_egress name fbflow_egress
+ prog_id 130245 tag 72d2d830d6888d2c
+ ]
+
+|
+| **# bpftool -jp net**
+
+::
+
+ [{
+ "xdp": [{
+ "ifindex": 2,
+ "devname": "eth0",
+ "prog_id": 198
+ }
+ ],
+ "tc_filters": [{
+ "ifindex": 2,
+ "kind": "qdisc_htb",
+ "name": "prefix_matcher.o:[cls_prefix_matcher_htb]",
+ "prog_id": 111727,
+ "tag": "d08fe3b4319bc2fd",
+ "act": []
+ },{
+ "ifindex": 2,
+ "kind": "qdisc_clsact_ingress",
+ "name": "fbflow_icmp",
+ "prog_id": 130246,
+ "tag": "3f265c7f26db62c9",
+ "act": []
+ },{
+ "ifindex": 2,
+ "kind": "qdisc_clsact_egress",
+ "name": "prefix_matcher.o:[cls_prefix_matcher_clsact]",
+ "prog_id": 111726,
+ "tag": "99a197826974c876"
+ },{
+ "ifindex": 2,
+ "kind": "qdisc_clsact_egress",
+ "name": "cls_fg_dscp",
+ "prog_id": 108619,
+ "tag": "dc4630674fd72dcc",
+ "act": []
+ },{
+ "ifindex": 2,
+ "kind": "qdisc_clsact_egress",
+ "name": "fbflow_egress",
+ "prog_id": 130245,
+ "tag": "72d2d830d6888d2c"
+ }
+ ]
+ }
+ ]
+
+
+SEE ALSO
+========
+ **bpftool**\ (8), **bpftool-prog**\ (8), **bpftool-map**\ (8)