ACL based forwarding 68/9468/31
authorAndrew Yourtchenko <ayourtch@gmail.com>
Fri, 17 Nov 2017 13:38:18 +0000 (14:38 +0100)
committerDamjan Marion <dmarion.lists@gmail.com>
Tue, 17 Apr 2018 18:25:05 +0000 (18:25 +0000)
commit669d07dc016757b856e1014a415996cf9f0ebc58
treebd86de6e168fd66563f3f81aa971403c0409bbe9
parent2926eca95138577be8d88eb8d6a442d93f182309
ACL based forwarding

A poor man's flow switching or policy based rounting.

An ACL is used to match packets and is associated with a [set of] forwarding paths
that determine how to forward matched packets - collectively this association is a
'policy'.
Policies are then 'attached', in a priority order, to an interface when thaey are
encountered as an input feature. If a packet matches no policies it is forwarded
normally in the IP FIB.

This commit is used to test the "ACL-as-a-service" functionality,
which currently compiles, and the existing traffic ACL tests pass in both hash and linear modes.

Change-Id: I0b274ec9f2e645352fa898b43eb54c457e195964
Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Signed-off-by: Ole Troan <ot@cisco.com>
16 files changed:
src/configure.ac
src/plugins/Makefile.am
src/plugins/abf.am [new file with mode: 0644]
src/plugins/abf/abf.api [new file with mode: 0644]
src/plugins/abf/abf_all_api_h.h [new file with mode: 0644]
src/plugins/abf/abf_api.c [new file with mode: 0644]
src/plugins/abf/abf_error.def [new file with mode: 0644]
src/plugins/abf/abf_itf_attach.c [new file with mode: 0644]
src/plugins/abf/abf_itf_attach.h [new file with mode: 0644]
src/plugins/abf/abf_msg_enum.h [new file with mode: 0644]
src/plugins/abf/abf_policy.c [new file with mode: 0644]
src/plugins/abf/abf_policy.h [new file with mode: 0644]
src/tools/vppapigen/vppapigen.py
test/test_abf.py [new file with mode: 0644]
test/vpp_papi_provider.py
test/vpp_udp_encap.py