1
0
Fork 0
alistair23-linux/include/net/tc_act
Daniel Borkmann a8cb5f556b act_bpf: add initial eBPF support for actions
This work extends the "classic" BPF programmable tc action by extending
its scope also to native eBPF code!

Together with commit e2e9b6541d ("cls_bpf: add initial eBPF support
for programmable classifiers") this adds the facility to implement fully
flexible classifier and actions for tc that can be implemented in a C
subset in user space, "safely" loaded into the kernel, and being run in
native speed when JITed.

Also, since eBPF maps can be shared between eBPF programs, it offers the
possibility that cls_bpf and act_bpf can share data 1) between themselves
and 2) between user space applications. That means that, f.e. customized
runtime statistics can be collected in user space, but also more importantly
classifier and action behaviour could be altered based on map input from
the user space application.

For the remaining details on the workflow and integration, see the cls_bpf
commit e2e9b6541d. Preliminary iproute2 part can be found under [1].

  [1] http://git.breakpoint.cc/cgit/dborkman/iproute2.git/log/?h=ebpf-act

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Jiri Pirko <jiri@resnulli.us>
Acked-by: Jiri Pirko <jiri@resnulli.us>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-03-20 19:10:44 -04:00
..
tc_bpf.h act_bpf: add initial eBPF support for actions 2015-03-20 19:10:44 -04:00
tc_connmark.h net: sched: Introduce connmark action 2015-01-19 16:02:06 -05:00
tc_csum.h net_sched: act: hide struct tcf_common from API 2014-02-12 19:23:32 -05:00
tc_defact.h net_sched: act: hide struct tcf_common from API 2014-02-12 19:23:32 -05:00
tc_gact.h net_sched: act: hide struct tcf_common from API 2014-02-12 19:23:32 -05:00
tc_ipt.h net_sched: act: hide struct tcf_common from API 2014-02-12 19:23:32 -05:00
tc_mirred.h net_sched: act: hide struct tcf_common from API 2014-02-12 19:23:32 -05:00
tc_nat.h net_sched: act: hide struct tcf_common from API 2014-02-12 19:23:32 -05:00
tc_pedit.h net_sched: act: hide struct tcf_common from API 2014-02-12 19:23:32 -05:00
tc_skbedit.h net_sched: act: hide struct tcf_common from API 2014-02-12 19:23:32 -05:00
tc_vlan.h tc_vlan: fix type of tcfv_push_vid 2014-11-24 16:12:03 -05:00