blob: ed87c9b619adc889310e7795bcfcc4b790251827 [file] [log] [blame]
Yonghong Songf6f3bac2018-09-05 16:58:06 -07001================
2bpftool-net
3================
4-------------------------------------------------------------------------------
5tool for inspection of netdev/tc related bpf prog attachments
6-------------------------------------------------------------------------------
7
8:Manual section: 8
9
10SYNOPSIS
11========
12
13 **bpftool** [*OPTIONS*] **net** *COMMAND*
14
15 *OPTIONS* := { [{ **-j** | **--json** }] [{ **-p** | **--pretty** }] }
16
17 *COMMANDS* :=
18 { **show** | **list** } [ **dev** name ] | **help**
19
20NET COMMANDS
21============
22
23| **bpftool** **net { show | list } [ dev name ]**
24| **bpftool** **net help**
25
26DESCRIPTION
27===========
28 **bpftool net { show | list } [ dev name ]**
Yonghong Song7900efc2018-09-17 16:13:00 -070029 List bpf program attachments in the kernel networking subsystem.
Yonghong Songf6f3bac2018-09-05 16:58:06 -070030
Yonghong Song7900efc2018-09-17 16:13:00 -070031 Currently, only device driver xdp attachments and tc filter
32 classification/action attachments are implemented, i.e., for
33 program types **BPF_PROG_TYPE_SCHED_CLS**,
34 **BPF_PROG_TYPE_SCHED_ACT** and **BPF_PROG_TYPE_XDP**.
35 For programs attached to a particular cgroup, e.g.,
36 **BPF_PROG_TYPE_CGROUP_SKB**, **BPF_PROG_TYPE_CGROUP_SOCK**,
37 **BPF_PROG_TYPE_SOCK_OPS** and **BPF_PROG_TYPE_CGROUP_SOCK_ADDR**,
38 users can use **bpftool cgroup** to dump cgroup attachments.
39 For sk_{filter, skb, msg, reuseport} and lwt/seg6
40 bpf programs, users should consult other tools, e.g., iproute2.
41
42 The current output will start with all xdp program attachments, followed by
Yonghong Songf6f3bac2018-09-05 16:58:06 -070043 all tc class/qdisc bpf program attachments. Both xdp programs and
44 tc programs are ordered based on ifindex number. If multiple bpf
45 programs attached to the same networking device through **tc filter**,
46 the order will be first all bpf programs attached to tc classes, then
47 all bpf programs attached to non clsact qdiscs, and finally all
48 bpf programs attached to root and clsact qdisc.
49
50 **bpftool net help**
51 Print short help message.
52
53OPTIONS
54=======
55 -h, --help
56 Print short generic help message (similar to **bpftool help**).
57
58 -v, --version
59 Print version number (similar to **bpftool version**).
60
61 -j, --json
62 Generate JSON output. For commands that cannot produce JSON, this
63 option has no effect.
64
65 -p, --pretty
66 Generate human-readable JSON output. Implies **-j**.
67
68EXAMPLES
69========
70
71| **# bpftool net**
72
73::
74
Yonghong Song7900efc2018-09-17 16:13:00 -070075 xdp:
76 eth0(2) driver id 198
77
78 tc:
79 eth0(2) htb name prefix_matcher.o:[cls_prefix_matcher_htb] id 111727 act []
80 eth0(2) clsact/ingress fbflow_icmp id 130246 act []
81 eth0(2) clsact/egress prefix_matcher.o:[cls_prefix_matcher_clsact] id 111726
82 eth0(2) clsact/egress cls_fg_dscp id 108619 act []
83 eth0(2) clsact/egress fbflow_egress id 130245
Yonghong Songf6f3bac2018-09-05 16:58:06 -070084
85|
86| **# bpftool -jp net**
87
88::
89
90 [{
91 "xdp": [{
Yonghong Songf6f3bac2018-09-05 16:58:06 -070092 "devname": "eth0",
Yonghong Song7900efc2018-09-17 16:13:00 -070093 "ifindex": 2,
94 "mode": "driver",
95 "id": 198
Yonghong Songf6f3bac2018-09-05 16:58:06 -070096 }
97 ],
Yonghong Song7900efc2018-09-17 16:13:00 -070098 "tc": [{
99 "devname": "eth0",
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700100 "ifindex": 2,
Yonghong Song7900efc2018-09-17 16:13:00 -0700101 "kind": "htb",
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700102 "name": "prefix_matcher.o:[cls_prefix_matcher_htb]",
Yonghong Song7900efc2018-09-17 16:13:00 -0700103 "id": 111727,
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700104 "act": []
105 },{
Yonghong Song7900efc2018-09-17 16:13:00 -0700106 "devname": "eth0",
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700107 "ifindex": 2,
Yonghong Song7900efc2018-09-17 16:13:00 -0700108 "kind": "clsact/ingress",
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700109 "name": "fbflow_icmp",
Yonghong Song7900efc2018-09-17 16:13:00 -0700110 "id": 130246,
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700111 "act": []
112 },{
Yonghong Song7900efc2018-09-17 16:13:00 -0700113 "devname": "eth0",
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700114 "ifindex": 2,
Yonghong Song7900efc2018-09-17 16:13:00 -0700115 "kind": "clsact/egress",
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700116 "name": "prefix_matcher.o:[cls_prefix_matcher_clsact]",
Yonghong Song7900efc2018-09-17 16:13:00 -0700117 "id": 111726,
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700118 },{
Yonghong Song7900efc2018-09-17 16:13:00 -0700119 "devname": "eth0",
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700120 "ifindex": 2,
Yonghong Song7900efc2018-09-17 16:13:00 -0700121 "kind": "clsact/egress",
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700122 "name": "cls_fg_dscp",
Yonghong Song7900efc2018-09-17 16:13:00 -0700123 "id": 108619,
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700124 "act": []
125 },{
Yonghong Song7900efc2018-09-17 16:13:00 -0700126 "devname": "eth0",
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700127 "ifindex": 2,
Yonghong Song7900efc2018-09-17 16:13:00 -0700128 "kind": "clsact/egress",
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700129 "name": "fbflow_egress",
Yonghong Song7900efc2018-09-17 16:13:00 -0700130 "id": 130245,
Yonghong Songf6f3bac2018-09-05 16:58:06 -0700131 }
132 ]
133 }
134 ]
135
136
137SEE ALSO
138========
Quentin Monnetf98e46a2018-11-08 11:52:28 +0000139 **bpf**\ (2),
140 **bpf-helpers**\ (7),
141 **bpftool**\ (8),
142 **bpftool-prog**\ (8),
143 **bpftool-map**\ (8),
144 **bpftool-cgroup**\ (8),
145 **bpftool-perf**\ (8)