On Sun, Mar 29, 2020 at 4:35 PM Eric Sage <eric@xxxxxxxx> wrote: > > At Facebook we use tail calls to jump between our firewall filters and > our L4LB. This is a program I wrote to estimate per program performance > by swapping out the entries in the program array with interceptors that > take measurements and then jump to the original entries. > > I found the sample programs to be invaluable in understanding how to use > the libbpf API (as well as the test env from the xdp-tutorial repo for > testing), and want to return the favor. I am currently working on > my next iteration that uses fentry/fexit to be less invasive, > but I thought it was an interesting PoC of what you can do with program > arrays. > > v4: > - rebase > v3: > - Fixed typos in xdp_stat_kern.c > - Switch to using key_size, value_size for prog arrays > > Signed-off-by: Eric Sage <eric@xxxxxxxx> > Acked-by: Andrii Nakryiko <andriin@xxxxxx> > --- > samples/bpf/Makefile | 3 + > samples/bpf/xdp_stat | Bin 0 -> 200488 bytes Add xdp_stat to .gitignore? > samples/bpf/xdp_stat_common.h | 28 ++ > samples/bpf/xdp_stat_kern.c | 192 +++++++++ > samples/bpf/xdp_stat_user.c | 748 ++++++++++++++++++++++++++++++++++ > 5 files changed, 971 insertions(+) > create mode 100755 samples/bpf/xdp_stat > create mode 100644 samples/bpf/xdp_stat_common.h > create mode 100644 samples/bpf/xdp_stat_kern.c > create mode 100644 samples/bpf/xdp_stat_user.c >