Improve tunnel interface creation performance 02/10402/1
authorJohn Lo <[email protected]>
Wed, 24 Jan 2018 00:21:34 +0000 (19:21 -0500)
committerJohn Lo <[email protected]>
Fri, 2 Feb 2018 17:34:00 +0000 (17:34 +0000)
commit5e150a06a8b291edc9427e740d441ac652f6e705
tree2a3810c32b444a00ba1eed20bb805ae731969c2d
parentcba3675fabe618194bf80a9de0e9c53b89a541ca
Improve tunnel interface creation performance

Modify interface creation to allow creation of tunnel interfaces
without dedicated per tunnel output and tx nodes which are not
used for most tunnel types. Also changed interface-output node
function vnet_per_buffer_interface_output() so it does not rely
on hw_if_index as the next node index which is not flexible nor
efficient for large scale tunnel interfaces.

The improvenemts are done for VXLAN, VXLAN-GPE, GENEVE and GTPU
tunnels. GRE tunnel is still using per tunnel output nodes which
will be changed in a separate patch with other GRE enhencements.

Change-Id: I4123c01c0d2ead814417a867adb8c8a407e4df55
Signed-off-by: John Lo <[email protected]>
(cherry picked from commit e5453d0fa29f39a7f78a7e22815566a7f4c9e5ef)
src/plugins/gtpu/gtpu.c
src/vnet/geneve/geneve.c
src/vnet/interface.c
src/vnet/interface.h
src/vnet/interface_funcs.h
src/vnet/interface_output.c
src/vnet/vxlan-gpe/vxlan_gpe.c
src/vnet/vxlan/vxlan.c