vnet: create L2 feature arc infrastructure 63/15163/3
authorAndrew Yourtchenko <ayourtch@gmail.com>
Sat, 6 Oct 2018 07:18:00 +0000 (09:18 +0200)
committerJohn Lo <loj@cisco.com>
Mon, 15 Oct 2018 20:03:56 +0000 (20:03 +0000)
commita23caded85ebc754b8e355d04cc747adfde5d467
tree80980219cbffcb0c8e2ed8f8768a73f4efae5d76
parent1c98831bf0763548d9027f191854d3af275f3abc
vnet: create L2 feature arc infrastructure

This commit adds two new nodes in the L2
datapath in input and output direction respectively.

These nodes fork the traffic into three feature
arcs: ip4, ip6 and nonip, which later join
to continue the usual L2 processing.
The vnet_l2_feature_enable_disable() function
with the same signature as
vnet_feature_enable_disable() takes care of
enabling the L2 datapath feature bits as needed, when
the features are enabled/disabled.

Thus, L2 features may use the similar plumbing as
the L3 features enjoy.

Change-Id: I76877b3a92d794c492bff1622bb26acba05705b2
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
src/vnet/CMakeLists.txt
src/vnet/l2/l2_in_out_feat_arc.c [new file with mode: 0644]
src/vnet/l2/l2_in_out_feat_arc.h [new file with mode: 0644]
src/vnet/l2/l2_input.c
src/vnet/l2/l2_input.h
src/vnet/l2/l2_output.c
src/vnet/l2/l2_output.h