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 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