samples: bpf: Convert xdp_redirect_cpu to XDP samples helper
Use the libbpf skeleton facility and other utilities provided by XDP
samples helper.
Similar to xdp_monitor, xdp_redirect_cpu was quite featureful except a
few minor omissions (e.g. redirect errno reporting). All of these have
been moved to XDP samples helper, hence drop the unneeded code and
convert to usage of helpers provided by it.
One of the important changes here is dropping of mprog-disable option,
as we make that the default. Also, we support built-in programs for some
common actions on the packet when it reaches kthread (pass, drop,
redirect to device). If the user still needs to install a custom
program, they can still supply a BPF object, however the program should
be suitably tagged with SEC("xdp_cpumap") annotation so that the
expected attach type is correct when updating our cpumap map element.
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210821002010.845777-19-memxor@gmail.com
This commit is contained in:
committed by
Alexei Starovoitov
parent
79ccf4529e
commit
e531a220cc
@@ -41,7 +41,6 @@ tprogs-y += test_map_in_map
|
||||
tprogs-y += per_socket_stats_example
|
||||
tprogs-y += xdp_redirect_map
|
||||
tprogs-y += xdp_redirect_map_multi
|
||||
tprogs-y += xdp_redirect_cpu
|
||||
tprogs-y += xdp_rxq_info
|
||||
tprogs-y += syscall_tp
|
||||
tprogs-y += cpustat
|
||||
@@ -55,6 +54,7 @@ tprogs-y += xdp_sample_pkts
|
||||
tprogs-y += ibumad
|
||||
tprogs-y += hbm
|
||||
|
||||
tprogs-y += xdp_redirect_cpu
|
||||
tprogs-y += xdp_redirect
|
||||
tprogs-y += xdp_monitor
|
||||
|
||||
@@ -102,7 +102,6 @@ test_map_in_map-objs := test_map_in_map_user.o
|
||||
per_socket_stats_example-objs := cookie_uid_helper_example.o
|
||||
xdp_redirect_map-objs := xdp_redirect_map_user.o
|
||||
xdp_redirect_map_multi-objs := xdp_redirect_map_multi_user.o
|
||||
xdp_redirect_cpu-objs := xdp_redirect_cpu_user.o
|
||||
xdp_rxq_info-objs := xdp_rxq_info_user.o
|
||||
syscall_tp-objs := syscall_tp_user.o
|
||||
cpustat-objs := cpustat_user.o
|
||||
@@ -116,6 +115,7 @@ xdp_sample_pkts-objs := xdp_sample_pkts_user.o
|
||||
ibumad-objs := ibumad_user.o
|
||||
hbm-objs := hbm.o $(CGROUP_HELPERS)
|
||||
|
||||
xdp_redirect_cpu-objs := xdp_redirect_cpu_user.o $(XDP_SAMPLE)
|
||||
xdp_redirect-objs := xdp_redirect_user.o $(XDP_SAMPLE)
|
||||
xdp_monitor-objs := xdp_monitor_user.o $(XDP_SAMPLE)
|
||||
|
||||
@@ -311,6 +311,7 @@ verify_target_bpf: verify_cmds
|
||||
$(BPF_SAMPLES_PATH)/*.c: verify_target_bpf $(LIBBPF)
|
||||
$(src)/*.c: verify_target_bpf $(LIBBPF)
|
||||
|
||||
$(obj)/xdp_redirect_cpu_user.o: $(obj)/xdp_redirect_cpu.skel.h
|
||||
$(obj)/xdp_redirect_user.o: $(obj)/xdp_redirect.skel.h
|
||||
$(obj)/xdp_monitor_user.o: $(obj)/xdp_monitor.skel.h
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user