On Tue, Jul 30, 2019 at 11:48 AM Daniel T. Lee <danieltim...@gmail.com> wrote: > > Currently, bpftool net only supports dumping progs loaded on the > interface. To load XDP prog on interface, user must use other tool > (eg. iproute2). By this patch, with `bpftool net (un)load`, user can > (un)load XDP prog on interface. > > $ ./bpftool prog > ... > 208: xdp name xdp_prog1 tag ad822e38b629553f gpl > loaded_at 2019-07-28T18:03:11+0900 uid 0 > ... > $ ./bpftool net load id 208 xdpdrv enp6s0np1 > $ ./bpftool net > xdp: > enp6s0np1(5) driver id 208 > ... > $ ./bpftool net unload xdpdrv enp6s0np1 > $ ./bpftool net > xdp: > ... > > The word 'load' is used instead of 'attach', since XDP program is not
Let's be consistent and "attach" everything. Tracing BPF programs (kprobe, tracepoints) are also not attached with BPF_PROG_ATTACH, but it's still a process of attaching BPF program to a BPF hook (a point in the system which can execute BPF program). Even better, if you can check what we recently did for tracing APIs with struct bpf_link and can add similar APIs for XDP programs, it would be a nice step towards consistency of APIs (and terminology as well). Please consider doing that. Thanks! > considered as 'bpf_attach_type' and can't be attached with > 'BPF_PROG_ATTACH'. In this context, the meaning of 'load' is, prog will > be loaded on interface. > > While this patch only contains support for XDP, through `net (un)load`, > bpftool can further support other prog attach types. > > XDP (un)load tested on Netronome Agilio. > > Daniel T. Lee (2): > tools: bpftool: add net load command to load XDP on interface > tools: bpftool: add net unload command to unload XDP on interface > > tools/bpf/bpftool/net.c | 160 +++++++++++++++++++++++++++++++++++++++- > 1 file changed, 159 insertions(+), 1 deletion(-) > > -- > 2.20.1 >