[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180906181147.igynch74hib4me2z@ast-mbp.dhcp.thefacebook.com>
Date: Thu, 6 Sep 2018 11:11:48 -0700
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: Yonghong Song <yhs@...com>
Cc: ast@...com, daniel@...earbox.net, netdev@...r.kernel.org,
kernel-team@...com
Subject: Re: [PATCH bpf-next 0/4] tools/bpf: add bpftool net support
On Wed, Sep 05, 2018 at 04:58:02PM -0700, Yonghong Song wrote:
> As bpf usage becomes more pervasive, people starts to worry
> about their cpu and memory cost. On a particular host,
> people often wanted to know all running bpf programs
> and their attachment context. So they can relate
> a performance/memory anormly quickly to a particular bpf
> program or an application.
>
> bpftool already provides a pretty good coverage for perf
> and cgroup related attachments. This patch set enabled
> to dump attachment info for xdp and tc bpf programs.
>
> Currently, users can already use "ip link show <dev>" and
> "tc filter show dev <dev> ..." to dump bpf program attachment
> information for xdp and tc bpf programs. The main reason
> to implement such functionality in bpftool as well is for
> better user experience. We want the bpftool to be the
> ultimate tool for bpf introspection. The bpftool net
> implementation will only present necessary bpf attachment
> information to the user, ignoring most other ip/tc
> specific information.
>
> For example, the below is a pretty json print for xdp
> and tc_filters.
>
> $ ./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"
> }
> ]
> }
> ]
>
> Patch #1 synced kernel uapi header if_link.h to tools directory.
> Patch #2 moved tools/bpf/lib/bpf.c netlink related functions to
> a new file. Patch #3 implemented additional functions
> in libbpf which will be used in Patch #4.
> Patch #4 implemented bpftool net support to dump
> xdp and tc bpf program attachments.
Applied, Thanks
Powered by blists - more mailing lists