aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build-data/platforms/arm32.mk4
-rw-r--r--build-data/platforms/dpaa2.mk4
-rw-r--r--build-data/platforms/qppc.mk4
-rw-r--r--build-data/platforms/thunder.mk4
-rw-r--r--build-data/platforms/vpp_lite.mk4
-rw-r--r--plugins/Makefile.am136
-rw-r--r--plugins/build-data/packages/ioam-plugin.mk47
-rw-r--r--plugins/build-data/packages/sixrd-plugin.mk47
-rw-r--r--plugins/build-data/packages/vcgn-plugin.mk47
-rw-r--r--plugins/configure.ac57
-rw-r--r--plugins/ioam-plugin/Makefile.am62
-rw-r--r--plugins/ioam-plugin/configure.ac17
-rw-r--r--plugins/ioam-plugin/ioam/encap/ip6_ioam_pot.c (renamed from plugins/plugins/ioam/encap/ip6_ioam_pot.c)2
-rw-r--r--plugins/ioam-plugin/ioam/lib-pot/math64.h (renamed from plugins/plugins/ioam/lib-pot/math64.h)0
-rw-r--r--plugins/ioam-plugin/ioam/lib-pot/pot.api (renamed from plugins/plugins/ioam/lib-pot/pot.api)0
-rw-r--r--plugins/ioam-plugin/ioam/lib-pot/pot_all_api_h.h (renamed from plugins/plugins/ioam/lib-pot/pot_all_api_h.h)2
-rw-r--r--plugins/ioam-plugin/ioam/lib-pot/pot_api.c (renamed from plugins/plugins/ioam/lib-pot/pot_api.c)12
-rw-r--r--plugins/ioam-plugin/ioam/lib-pot/pot_msg_enum.h (renamed from plugins/plugins/ioam/lib-pot/pot_msg_enum.h)2
-rw-r--r--plugins/ioam-plugin/ioam/lib-pot/pot_test.c (renamed from plugins/plugins/ioam/lib-pot/pot_test.c)10
-rw-r--r--plugins/ioam-plugin/ioam/lib-pot/pot_util.c (renamed from plugins/plugins/ioam/lib-pot/pot_util.c)0
-rw-r--r--plugins/ioam-plugin/ioam/lib-pot/pot_util.h (renamed from plugins/plugins/ioam/lib-pot/pot_util.h)0
-rw-r--r--plugins/sample-plugin/Makefile.am5
-rw-r--r--plugins/sixrd-plugin/Makefile.am37
-rw-r--r--plugins/sixrd-plugin/configure.ac17
-rw-r--r--plugins/sixrd-plugin/sixrd/ip4_sixrd.c (renamed from plugins/plugins/sixrd/ip4_sixrd.c)0
-rw-r--r--plugins/sixrd-plugin/sixrd/ip6_sixrd.c (renamed from plugins/plugins/sixrd/ip6_sixrd.c)0
-rw-r--r--plugins/sixrd-plugin/sixrd/sixrd.c (renamed from plugins/plugins/sixrd/sixrd.c)0
-rw-r--r--plugins/sixrd-plugin/sixrd/sixrd.h (renamed from plugins/plugins/sixrd/sixrd.h)0
-rw-r--r--plugins/vcgn-plugin/Makefile.am99
-rw-r--r--plugins/vcgn-plugin/configure.ac17
-rw-r--r--plugins/vcgn-plugin/vcgn/README (renamed from plugins/plugins/vcgn/README)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cgn_bitmap.h (renamed from plugins/plugins/vcgn/cgn_bitmap.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cgse_defs.h (renamed from plugins/plugins/vcgn/cgse_defs.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_bulk_port.c (renamed from plugins/plugins/vcgn/cnat_bulk_port.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_bulk_port.h (renamed from plugins/plugins/vcgn/cnat_bulk_port.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_bulk_port_defs.h (renamed from plugins/plugins/vcgn/cnat_bulk_port_defs.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_cli.h (renamed from plugins/plugins/vcgn/cnat_cli.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_cli_handler.c (renamed from plugins/plugins/vcgn/cnat_cli_handler.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_common_api.h (renamed from plugins/plugins/vcgn/cnat_common_api.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_config.c (renamed from plugins/plugins/vcgn/cnat_config.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_config.h (renamed from plugins/plugins/vcgn/cnat_config.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_config_api.h (renamed from plugins/plugins/vcgn/cnat_config_api.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_db.h (renamed from plugins/plugins/vcgn/cnat_db.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_db_scanner.c (renamed from plugins/plugins/vcgn/cnat_db_scanner.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_db_v2.c (renamed from plugins/plugins/vcgn/cnat_db_v2.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_debug_msg_handler.c (renamed from plugins/plugins/vcgn/cnat_debug_msg_handler.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_global.c (renamed from plugins/plugins/vcgn/cnat_global.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_global.h (renamed from plugins/plugins/vcgn/cnat_global.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp.h (renamed from plugins/plugins/vcgn/cnat_ipv4_icmp.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_error_inside_input.c (renamed from plugins/plugins/vcgn/cnat_ipv4_icmp_error_inside_input.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_error_outside_input.c (renamed from plugins/plugins/vcgn/cnat_ipv4_icmp_error_outside_input.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_inside_input.c (renamed from plugins/plugins/vcgn/cnat_ipv4_icmp_query_inside_input.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_inside_input_exception.c (renamed from plugins/plugins/vcgn/cnat_ipv4_icmp_query_inside_input_exception.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_outside_input.c (renamed from plugins/plugins/vcgn/cnat_ipv4_icmp_query_outside_input.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_inside_input.c (renamed from plugins/plugins/vcgn/cnat_ipv4_tcp_inside_input.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_inside_input_exceptions.c (renamed from plugins/plugins/vcgn/cnat_ipv4_tcp_inside_input_exceptions.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_outside_input.c (renamed from plugins/plugins/vcgn/cnat_ipv4_tcp_outside_input.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_udp.h (renamed from plugins/plugins/vcgn/cnat_ipv4_udp.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_inside_input.c (renamed from plugins/plugins/vcgn/cnat_ipv4_udp_inside_input.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_inside_input_exceptions.c (renamed from plugins/plugins/vcgn/cnat_ipv4_udp_inside_input_exceptions.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_outside_input.c (renamed from plugins/plugins/vcgn/cnat_ipv4_udp_outside_input.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_log_api.h (renamed from plugins/plugins/vcgn/cnat_log_api.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_log_common.h (renamed from plugins/plugins/vcgn/cnat_log_common.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_logging.c (renamed from plugins/plugins/vcgn/cnat_logging.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_logging.h (renamed from plugins/plugins/vcgn/cnat_logging.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_pcp_server.h (renamed from plugins/plugins/vcgn/cnat_pcp_server.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ports.c (renamed from plugins/plugins/vcgn/cnat_ports.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_ports.h (renamed from plugins/plugins/vcgn/cnat_ports.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_show.c (renamed from plugins/plugins/vcgn/cnat_show.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_show_api.h (renamed from plugins/plugins/vcgn/cnat_show_api.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_show_response.h (renamed from plugins/plugins/vcgn/cnat_show_response.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_syslog.c (renamed from plugins/plugins/vcgn/cnat_syslog.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_syslog.h (renamed from plugins/plugins/vcgn/cnat_syslog.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_util.c (renamed from plugins/plugins/vcgn/cnat_util.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_v4_ftp_alg.h (renamed from plugins/plugins/vcgn/cnat_v4_ftp_alg.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_v4_functions.c (renamed from plugins/plugins/vcgn/cnat_v4_functions.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_v4_functions.h (renamed from plugins/plugins/vcgn/cnat_v4_functions.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_v4_pptp_alg.h (renamed from plugins/plugins/vcgn/cnat_v4_pptp_alg.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_v4_tcp_in2out_stages.c (renamed from plugins/plugins/vcgn/cnat_v4_tcp_in2out_stages.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_va_db.c (renamed from plugins/plugins/vcgn/cnat_va_db.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/cnat_va_db.h (renamed from plugins/plugins/vcgn/cnat_va_db.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/dslite_db.h (renamed from plugins/plugins/vcgn/dslite_db.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/dslite_defs.h (renamed from plugins/plugins/vcgn/dslite_defs.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/index_list.c (renamed from plugins/plugins/vcgn/index_list.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/index_list.h (renamed from plugins/plugins/vcgn/index_list.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/nat64_db.h (renamed from plugins/plugins/vcgn/nat64_db.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/nat64_defs.h (renamed from plugins/plugins/vcgn/nat64_defs.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/nat64_tcp_sm.h (renamed from plugins/plugins/vcgn/nat64_tcp_sm.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/platform_common.h (renamed from plugins/plugins/vcgn/platform_common.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/platform_common_override.h (renamed from plugins/plugins/vcgn/platform_common_override.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/spp_ctx.h (renamed from plugins/plugins/vcgn/spp_ctx.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/spp_platform_trace_log.c (renamed from plugins/plugins/vcgn/spp_platform_trace_log.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/spp_platform_trace_log.h (renamed from plugins/plugins/vcgn/spp_platform_trace_log.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/spp_timers.h (renamed from plugins/plugins/vcgn/spp_timers.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/tcp_header_definitions.h (renamed from plugins/plugins/vcgn/tcp_header_definitions.h)0
-rw-r--r--plugins/vcgn-plugin/vcgn/vcgn_classify.c (renamed from plugins/plugins/vcgn/vcgn_classify.c)0
-rw-r--r--plugins/vcgn-plugin/vcgn/vcgn_db.h (renamed from plugins/plugins/vcgn/vcgn_db.h)0
97 files changed, 485 insertions, 151 deletions
diff --git a/build-data/platforms/arm32.mk b/build-data/platforms/arm32.mk
index 5e1adabf..ab8d5864 100644
--- a/build-data/platforms/arm32.mk
+++ b/build-data/platforms/arm32.mk
@@ -22,8 +22,8 @@ arm32_root_packages = vpp vlib vlib-api vnet svm vpp-api-test \
vpp-japi gmod
vlib_configure_args_arm32 = --with-pre-data=128
-vnet_configure_args_arm32 = --with-dpdk --without-vcgn --without-ipsec --without-ipv6sr
-vpp_configure_args_arm32 = --with-dpdk --without-vcgn --without-ipsec --without-ipv6sr
+vnet_configure_args_arm32 = --with-dpdk --without-ipsec --without-ipv6sr
+vpp_configure_args_arm32 = --with-dpdk --without-ipsec --without-ipv6sr
arm32_dpdk_arch = "armv7a"
arm32_dpdk_target = "arm-armv7a-linuxapp-gcc"
diff --git a/build-data/platforms/dpaa2.mk b/build-data/platforms/dpaa2.mk
index fd33d22d..7f25d212 100644
--- a/build-data/platforms/dpaa2.mk
+++ b/build-data/platforms/dpaa2.mk
@@ -42,9 +42,9 @@ dpaa2_dpdk_make_extra_args = "CROSS=$(dpaa2_target)-"
endif
endif
-vpp_configure_args_dpaa2 = --with-dpdk --without-ipsec --without-vcgn \
+vpp_configure_args_dpaa2 = --with-dpdk --without-ipsec \
--without-ipv6sr --with-sysroot=$(SYSROOT)
-vnet_configure_args_dpaa2 = --with-dpdk --without-ipsec --without-vcgn \
+vnet_configure_args_dpaa2 = --with-dpdk --without-ipsec \
--without-ipv6sr --with-sysroot=$(SYSROOT)
# Set these parameters carefully. The vlib_buffer_t is 128 bytes, i.e.
diff --git a/build-data/platforms/qppc.mk b/build-data/platforms/qppc.mk
index 3206928b..244747e7 100644
--- a/build-data/platforms/qppc.mk
+++ b/build-data/platforms/qppc.mk
@@ -11,10 +11,10 @@ qppc_root_packages = vppinfra vlib vlib-api vnet svm \
vpp vpp-api-test
vnet_configure_args_qppc = \
- --without-ipsec --without-vcgn --without-ipv6sr
+ --without-ipsec --without-ipv6sr
vpp_configure_args_qppc = \
- --without-ipsec --without-vcgn --without-ipv6sr
+ --without-ipsec --without-ipv6sr
vlib_configure_args_qppc = --with-pre-data=128
diff --git a/build-data/platforms/thunder.mk b/build-data/platforms/thunder.mk
index 8fb00456..f891f4a1 100644
--- a/build-data/platforms/thunder.mk
+++ b/build-data/platforms/thunder.mk
@@ -15,10 +15,10 @@ thunder_root_packages = vppinfra vlib-cavium-dpdk vnet-cavium-dpdk cavium-dpdk \
vpp-cavium-dpdk vpp-api-test-cavium-dpdk
vnet-cavium-dpdk_configure_args_thunder = \
- --with-dpdk --without-ipsec --without-vcgn --without-ipv6sr
+ --with-dpdk --without-ipsec --without-ipv6sr
vpp-cavium-dpdk_configure_args_thunder = \
- --with-dpdk --without-ipsec --without-vcgn --without-ipv6sr
+ --with-dpdk --without-ipsec --without-ipv6sr
cavium-dpdk_configure_args_thunder = --with-headroom=256
diff --git a/build-data/platforms/vpp_lite.mk b/build-data/platforms/vpp_lite.mk
index d35d2347..a28fec2f 100644
--- a/build-data/platforms/vpp_lite.mk
+++ b/build-data/platforms/vpp_lite.mk
@@ -24,8 +24,8 @@ vpp_lite_root_packages = vpp vlib vlib-api vnet svm vpp-api-test \
vlib_configure_args_vpp_lite = --with-pre-data=128
-vnet_configure_args_vpp_lite = --without-vcgn
-vpp_configure_args_vpp_lite = --without-vcgn
+vnet_configure_args_vpp_lite =
+vpp_configure_args_vpp_lite =
vpp_lite_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
-fstack-protector-all -fPIC -Werror
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 2087c4e8..1fcc18ec 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -13,131 +13,19 @@
AUTOMAKE_OPTIONS = foreign subdir-objects
-AM_CFLAGS = -Wall -I@TOOLKIT_INCLUDE@
-
-
-########################################
-# SIXRD (RFC5969)
-########################################
-libsixrd_plugin_la_SOURCES = plugins/sixrd/sixrd.c plugins/sixrd/ip4_sixrd.c plugins/sixrd/ip6_sixrd.c
-nobase_include_HEADERS = plugins/sixrd/sixrd.h
-
-libsixrd_plugin_la_LDFLAGS = -module
-#BUILT_SOURCES =
-
-lib_LTLIBRARIES = libsixrd_plugin.la
-
-########################################
-# iOAM Proof of Transit
-########################################
-
-ioam_pot_plugin_la_SOURCES = plugins/ioam/lib-pot/pot_util.c plugins/ioam/encap/ip6_ioam_pot.c \
- plugins/ioam/lib-pot/pot_util.h plugins/ioam/lib-pot/math64.h plugins/ioam/lib-pot/pot_api.c
-ioam_pot_plugin_la_LDFLAGS = -module
-
-BUILT_SOURCES = plugins/ioam/lib-pot/pot.api.h
-SUFFIXES = .api.h .api
-
-%.api.h: %.api
- mkdir -p `dirname $@` ; \
- $(CC) $(CPPFLAGS) -E -P -C -x c $^ \
- | vppapigen --input - --output $@ --show-name $@
-
-nobase_include_HEADERS += \
- plugins/ioam/lib-pot/pot_all_api_h.h \
- plugins/ioam/lib-pot/pot_msg_enum.h \
- plugins/ioam/lib-pot/pot.api.h \
- plugins/ioam/lib-pot/pot_util.h \
- plugins/ioam/lib-pot/math64.h
-
-ioam_pot_test_plugin_la_SOURCES = plugins/ioam/lib-pot/pot_test.c plugins/ioam/lib-pot/pot_plugin.api.h
-ioam_pot_test_plugin_la_LDFLAGS = -module
-
-lib_LTLIBRARIES += ioam_pot_plugin.la ioam_pot_test_plugin.la
-
-########################################
-# Virtual Carrier Grade NAT
-########################################
-
-libvcgn_plugin_la_SOURCES = \
- plugins/vcgn/cnat_bulk_port.c \
- plugins/vcgn/cnat_config.c \
- plugins/vcgn/cnat_db_scanner.c \
- plugins/vcgn/cnat_db_v2.c \
- plugins/vcgn/cnat_debug_msg_handler.c \
- plugins/vcgn/cnat_cli_handler.c \
- plugins/vcgn/cnat_global.c \
- plugins/vcgn/cnat_ipv4_udp_inside_input.c \
- plugins/vcgn/cnat_ipv4_udp_inside_input_exceptions.c \
- plugins/vcgn/cnat_ipv4_udp_outside_input.c \
- plugins/vcgn/cnat_ipv4_tcp_inside_input.c \
- plugins/vcgn/cnat_ipv4_tcp_inside_input_exceptions.c \
- plugins/vcgn/cnat_ipv4_tcp_outside_input.c \
- plugins/vcgn/cnat_ipv4_icmp_query_inside_input.c \
- plugins/vcgn/cnat_ipv4_icmp_query_inside_input_exception.c \
- plugins/vcgn/cnat_ipv4_icmp_query_outside_input.c \
- plugins/vcgn/cnat_ipv4_icmp_error_inside_input.c \
- plugins/vcgn/cnat_ipv4_icmp_error_outside_input.c \
- plugins/vcgn/cnat_logging.c \
- plugins/vcgn/cnat_ports.c \
- plugins/vcgn/cnat_util.c \
- plugins/vcgn/cnat_show.c \
- plugins/vcgn/cnat_syslog.c \
- plugins/vcgn/cnat_v4_functions.c \
- plugins/vcgn/index_list.c \
- plugins/vcgn/spp_platform_trace_log.c \
- plugins/vcgn/vcgn_classify.c
-
-nobase_include_HEADERS += plugins/vcgn/cgn_bitmap.h \
- plugins/vcgn/cgse_defs.h \
- plugins/vcgn/cnat_bulk_port_defs.h \
- plugins/vcgn/cnat_bulk_port.h \
- plugins/vcgn/cnat_cli.h \
- plugins/vcgn/cnat_common_api.h \
- plugins/vcgn/cnat_config_api.h \
- plugins/vcgn/cnat_config.h \
- plugins/vcgn/cnat_db.h \
- plugins/vcgn/cnat_global.h \
- plugins/vcgn/cnat_ipv4_icmp.h \
- plugins/vcgn/cnat_ipv4_udp.h \
- plugins/vcgn/cnat_log_api.h \
- plugins/vcgn/cnat_log_common.h \
- plugins/vcgn/cnat_logging.h \
- plugins/vcgn/cnat_pcp_server.h \
- plugins/vcgn/cnat_ports.h \
- plugins/vcgn/cnat_show_api.h \
- plugins/vcgn/cnat_show_response.h \
- plugins/vcgn/cnat_syslog.h \
- plugins/vcgn/cnat_v4_ftp_alg.h \
- plugins/vcgn/cnat_v4_functions.h \
- plugins/vcgn/cnat_v4_pptp_alg.h \
- plugins/vcgn/cnat_va_db.h \
- plugins/vcgn/dslite_db.h \
- plugins/vcgn/dslite_defs.h \
- plugins/vcgn/index_list.h \
- plugins/vcgn/nat64_db.h \
- plugins/vcgn/nat64_defs.h \
- plugins/vcgn/nat64_tcp_sm.h \
- plugins/vcgn/platform_common.h \
- plugins/vcgn/platform_common_override.h \
- plugins/vcgn/spp_ctx.h \
- plugins/vcgn/spp_platform_trace_log.h \
- plugins/vcgn/spp_timers.h \
- plugins/vcgn/tcp_header_definitions.h \
- plugins/vcgn/vcgn_db.h
-
-libvcgn_plugin_la_LDFLAGS = -module
+SUBDIRS =
+if ENABLE_SAMPLE_PLUGIN
+SUBDIRS += sample-plugin
+endif
-lib_LTLIBRARIES += libvcgn_plugin.la
+if ENABLE_SIXRD_PLUGIN
+SUBDIRS += sixrd-plugin
+endif
-if WITH_PLUGIN_TOOLKIT
-install-data-hook:
- mkdir /usr/lib/vpp_plugins || true
- mkdir /usr/lib/vpp_api_test_plugins || true
- cp $(prefix)/lib/libsixrd_plugin.so.*.*.* /usr/lib/vpp_plugins
- cp $(prefix)/lib/libvcgn_plugin.so.*.*.* /usr/lib/vpp_plugins
- cp $(prefix)/lib/ioam_pot_plugin.so.*.*.* /usr/lib/vpp_plugins
- cp $(prefix)/lib/ioam_pot_test_plugin.so.*.*.* \
- /usr/lib/vpp_api_test_plugins
+if ENABLE_IOAM_PLUGIN
+SUBDIRS += ioam-plugin
endif
+if ENABLE_VCGN_PLUGIN
+SUBDIRS += vcgn-plugin
+endif
diff --git a/plugins/build-data/packages/ioam-plugin.mk b/plugins/build-data/packages/ioam-plugin.mk
new file mode 100644
index 00000000..1ebe8184
--- /dev/null
+++ b/plugins/build-data/packages/ioam-plugin.mk
@@ -0,0 +1,47 @@
+ioam-plugin_configure_depend = \
+ vppinfra-install \
+ svm-install \
+ vlib-api-install \
+ vlib-install \
+ vnet-install \
+ vpp-install \
+ vpp-api-test-install
+
+ioam-plugin_CPPFLAGS = $(call installed_includes_fn, \
+ vppinfra \
+ openssl \
+ svm \
+ vlib \
+ vlib-api \
+ vnet \
+ vpp \
+ vpp-api-test)
+
+ioam-plugin_LDFLAGS = $(call installed_libs_fn, \
+ vppinfra \
+ openssl \
+ svm \
+ vlib \
+ vlib-api \
+ vnet \
+ vpp \
+ vpp-api-test)
+
+ioam-plugin_post_install = \
+ mkdir -p $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/vlib_plugins ; \
+ cp $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/*.so \
+ $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/vlib_plugins
+
+ioam-plugin_image_include = echo $(arch_lib_dir)/vlib_plugins
+
+ifneq ($($(PLATFORM)_uses_dpdk),no)
+ioam-plugin_configure_args = --with-dpdk
+ifeq ($($(PLATFORM)_uses_external_dpdk),yes)
+ioam-plugin_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir)
+ioam-plugin_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir)
+else
+ioam-plugin_configure_depend += dpdk-install
+ioam-plugin_CPPFLAGS += $(call installed_includes_fn, dpdk)
+ioam-plugin_LDFLAGS += $(call installed_libs_fn, dpdk)
+endif
+endif
diff --git a/plugins/build-data/packages/sixrd-plugin.mk b/plugins/build-data/packages/sixrd-plugin.mk
new file mode 100644
index 00000000..186d9b8f
--- /dev/null
+++ b/plugins/build-data/packages/sixrd-plugin.mk
@@ -0,0 +1,47 @@
+sixrd-plugin_configure_depend = \
+ vppinfra-install \
+ svm-install \
+ vlib-api-install \
+ vlib-install \
+ vnet-install \
+ vpp-install \
+ vpp-api-test-install
+
+sixrd-plugin_CPPFLAGS = $(call installed_includes_fn, \
+ vppinfra \
+ openssl \
+ svm \
+ vlib \
+ vlib-api \
+ vnet \
+ vpp \
+ vpp-api-test)
+
+sixrd-plugin_LDFLAGS = $(call installed_libs_fn, \
+ vppinfra \
+ openssl \
+ svm \
+ vlib \
+ vlib-api \
+ vnet \
+ vpp \
+ vpp-api-test)
+
+sixrd-plugin_post_install = \
+ mkdir -p $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/vlib_plugins ; \
+ cp $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/*.so \
+ $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/vlib_plugins
+
+sixrd-plugin_image_include = echo $(arch_lib_dir)/vlib_plugins
+
+ifneq ($($(PLATFORM)_uses_dpdk),no)
+sixrd-plugin_configure_args = --with-dpdk
+ifeq ($($(PLATFORM)_uses_external_dpdk),yes)
+sixrd-plugin_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir)
+sixrd-plugin_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir)
+else
+sixrd-plugin_configure_depend += dpdk-install
+sixrd-plugin_CPPFLAGS += $(call installed_includes_fn, dpdk)
+sixrd-plugin_LDFLAGS += $(call installed_libs_fn, dpdk)
+endif
+endif
diff --git a/plugins/build-data/packages/vcgn-plugin.mk b/plugins/build-data/packages/vcgn-plugin.mk
new file mode 100644
index 00000000..cd865c15
--- /dev/null
+++ b/plugins/build-data/packages/vcgn-plugin.mk
@@ -0,0 +1,47 @@
+vcgn-plugin_configure_depend = \
+ vppinfra-install \
+ svm-install \
+ vlib-api-install \
+ vlib-install \
+ vnet-install \
+ vpp-install \
+ vpp-api-test-install
+
+vcgn-plugin_CPPFLAGS = $(call installed_includes_fn, \
+ vppinfra \
+ openssl \
+ svm \
+ vlib \
+ vlib-api \
+ vnet \
+ vpp \
+ vpp-api-test)
+
+vcgn-plugin_LDFLAGS = $(call installed_libs_fn, \
+ vppinfra \
+ openssl \
+ svm \
+ vlib \
+ vlib-api \
+ vnet \
+ vpp \
+ vpp-api-test)
+
+vcgn-plugin_post_install = \
+ mkdir -p $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/vlib_plugins ; \
+ cp $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/*.so \
+ $(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/vlib_plugins
+
+vcgn-plugin_image_include = echo $(arch_lib_dir)/vlib_plugins
+
+ifneq ($($(PLATFORM)_uses_dpdk),no)
+vcgn-plugin_configure_args = --with-dpdk
+ifeq ($($(PLATFORM)_uses_external_dpdk),yes)
+vcgn-plugin_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir)
+vcgn-plugin_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir)
+else
+vcgn-plugin_configure_depend += dpdk-install
+vcgn-plugin_CPPFLAGS += $(call installed_includes_fn, dpdk)
+vcgn-plugin_LDFLAGS += $(call installed_libs_fn, dpdk)
+endif
+endif
diff --git a/plugins/configure.ac b/plugins/configure.ac
index bf01aacb..40c0babd 100644
--- a/plugins/configure.ac
+++ b/plugins/configure.ac
@@ -20,4 +20,61 @@ AC_ARG_WITH(plugin-toolkit,
AC_SUBST(TOOLKIT_INCLUDE,[${with_plugin_toolkit}])
AM_CONDITIONAL(WITH_PLUGIN_TOOLKIT, test "$with_plugin_toolkit" != ".")
AM_CONDITIONAL(ENABLE_TESTS, test "$enable_tests" = "1")
+
+#
+# Sample plugin
+#
+AC_ARG_ENABLE(sample_plugin,
+ AC_HELP_STRING([--enable-sample-plugin], [Build sample plugin]),
+ [enable_sample_plugin=1],
+ [enable_sample_plugin=0])
+
+if test "x$enable_sample_plugin" = x1; then
+ AC_CONFIG_SUBDIRS([sample-plugin])
+fi
+
+AM_CONDITIONAL(ENABLE_SAMPLE_PLUGIN, test "$enable_sample_plugin" = "1")
+
+#
+# SIXRD plugin
+#
+AC_ARG_ENABLE(sixrd_plugin,
+ AC_HELP_STRING([--enable-sixrd-plugin], [Build sixrd plugin]),
+ [],
+ [enable_sixrd_plugin=1])
+
+if test "x$enable_sixrd_plugin" = x1; then
+ AC_CONFIG_SUBDIRS([sixrd-plugin])
+fi
+
+AM_CONDITIONAL(ENABLE_SIXRD_PLUGIN, test "$enable_sixrd_plugin" = "1")
+
+#
+# IOAM plugin
+#
+AC_ARG_ENABLE(ioam_plugin,
+ AC_HELP_STRING([--enable-ioam-plugin], [Build ioam plugin]),
+ [],
+ [enable_ioam_plugin=1])
+
+if test "x$enable_ioam_plugin" = x1; then
+ AC_CONFIG_SUBDIRS([ioam-plugin])
+fi
+
+AM_CONDITIONAL(ENABLE_IOAM_PLUGIN, test "$enable_ioam_plugin" = "1")
+
+#
+# VCGN plugin
+#
+AC_ARG_ENABLE(vcgn_plugin,
+ AC_HELP_STRING([--enable-vcgn-plugin], [Build vcgn plugin]),
+ [enable_vcgn_plugin=1],
+ [enable_vcgn_plugin=0])
+
+if test "x$enable_vcgn_plugin" = x1; then
+ AC_CONFIG_SUBDIRS([vcgn-plugin])
+fi
+
+AM_CONDITIONAL(ENABLE_VCGN_PLUGIN, test "$enable_vcgn_plugin" = "1")
+
AC_OUTPUT([Makefile])
diff --git a/plugins/ioam-plugin/Makefile.am b/plugins/ioam-plugin/Makefile.am
new file mode 100644
index 00000000..e62525f1
--- /dev/null
+++ b/plugins/ioam-plugin/Makefile.am
@@ -0,0 +1,62 @@
+# Copyright (c) 2015 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+AUTOMAKE_OPTIONS = foreign subdir-objects
+
+AM_CFLAGS = -Wall -I@TOOLKIT_INCLUDE@
+
+########################################
+# iOAM Proof of Transit
+########################################
+
+ioam_pot_plugin_la_SOURCES = \
+ ioam/lib-pot/pot_util.c \
+ ioam/encap/ip6_ioam_pot.c \
+ ioam/lib-pot/pot_util.h \
+ ioam/lib-pot/math64.h \
+ ioam/lib-pot/pot_api.c
+
+ioam_pot_plugin_la_LDFLAGS = -module
+
+BUILT_SOURCES = \
+ ioam/lib-pot/pot.api.h
+
+SUFFIXES = .api.h .api
+
+%.api.h: %.api
+ mkdir -p `dirname $@` ; \
+ $(CC) $(CPPFLAGS) -E -P -C -x c $^ \
+ | vppapigen --input - --output $@ --show-name $@
+
+nobase_include_HEADERS = \
+ ioam/lib-pot/pot_all_api_h.h \
+ ioam/lib-pot/pot_msg_enum.h \
+ ioam/lib-pot/pot.api.h \
+ ioam/lib-pot/pot_util.h \
+ ioam/lib-pot/math64.h
+
+ioam_pot_test_plugin_la_SOURCES = \
+ ioam/lib-pot/pot_test.c \
+ ioam/lib-pot/pot_plugin.api.h
+
+ioam_pot_test_plugin_la_LDFLAGS = -module
+
+lib_LTLIBRARIES = ioam_pot_plugin.la ioam_pot_test_plugin.la
+
+if WITH_PLUGIN_TOOLKIT
+install-data-hook:
+ mkdir /usr/lib/vpp_plugins || true
+ mkdir /usr/lib/vpp_api_test_plugins || true
+ cp -L $(prefix)/lib/ioam_pot_plugin.so /usr/lib/vpp_plugins
+ cp -L $(prefix)/lib/ioam_pot_test_plugin.so /usr/lib/vpp_api_test_plugins
+endif
diff --git a/plugins/ioam-plugin/configure.ac b/plugins/ioam-plugin/configure.ac
new file mode 100644
index 00000000..8c828575
--- /dev/null
+++ b/plugins/ioam-plugin/configure.ac
@@ -0,0 +1,17 @@
+AC_INIT(ioam_plugin, 1.0)
+LT_INIT
+AM_INIT_AUTOMAKE
+
+AM_PROG_AS
+AC_PROG_CC
+AM_PROG_CC_C_O
+
+AC_ARG_WITH(plugin-toolkit,
+ AC_HELP_STRING([--with-plugin-toolkit],
+ [build using the vpp toolkit]),
+ [with_plugin_toolkit=${prefix}/include],
+ [with_plugin_toolkit=.])
+
+AC_SUBST(TOOLKIT_INCLUDE,[${with_plugin_toolkit}])
+AM_CONDITIONAL(WITH_PLUGIN_TOOLKIT, test "$with_plugin_toolkit" != ".")
+AC_OUTPUT([Makefile])
diff --git a/plugins/plugins/ioam/encap/ip6_ioam_pot.c b/plugins/ioam-plugin/ioam/encap/ip6_ioam_pot.c
index 7af805e3..0a239457 100644
--- a/plugins/plugins/ioam/encap/ip6_ioam_pot.c
+++ b/plugins/ioam-plugin/ioam/encap/ip6_ioam_pot.c
@@ -25,7 +25,7 @@
#include <vppinfra/error.h>
#include <vppinfra/elog.h>
-#include <plugins/ioam/lib-pot/pot_util.h>
+#include <ioam/lib-pot/pot_util.h>
typedef CLIB_PACKED(struct {
ip6_hop_by_hop_option_t hdr;
diff --git a/plugins/plugins/ioam/lib-pot/math64.h b/plugins/ioam-plugin/ioam/lib-pot/math64.h
index 4c608a37..4c608a37 100644
--- a/plugins/plugins/ioam/lib-pot/math64.h
+++ b/plugins/ioam-plugin/ioam/lib-pot/math64.h
diff --git a/plugins/plugins/ioam/lib-pot/pot.api b/plugins/ioam-plugin/ioam/lib-pot/pot.api
index 7fd06b51..7fd06b51 100644
--- a/plugins/plugins/ioam/lib-pot/pot.api
+++ b/plugins/ioam-plugin/ioam/lib-pot/pot.api
diff --git a/plugins/plugins/ioam/lib-pot/pot_all_api_h.h b/plugins/ioam-plugin/ioam/lib-pot/pot_all_api_h.h
index 74dfc484..63967c45 100644
--- a/plugins/plugins/ioam/lib-pot/pot_all_api_h.h
+++ b/plugins/ioam-plugin/ioam/lib-pot/pot_all_api_h.h
@@ -13,4 +13,4 @@
* limitations under the License.
*/
/* Include the generated file, see BUILT_SOURCES in Makefile.am */
-#include <plugins/ioam/lib-pot/pot.api.h>
+#include <ioam/lib-pot/pot.api.h>
diff --git a/plugins/plugins/ioam/lib-pot/pot_api.c b/plugins/ioam-plugin/ioam/lib-pot/pot_api.c
index e5af1fae..95be9e02 100644
--- a/plugins/plugins/ioam/lib-pot/pot_api.c
+++ b/plugins/ioam-plugin/ioam/lib-pot/pot_api.c
@@ -21,34 +21,34 @@
#include <vnet/vnet.h>
#include <vnet/plugin/plugin.h>
-#include <plugins/ioam/lib-pot/pot_util.h>
+#include <ioam/lib-pot/pot_util.h>
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <vlibsocket/api.h>
/* define message IDs */
-#include <plugins/ioam/lib-pot/pot_msg_enum.h>
+#include <ioam/lib-pot/pot_msg_enum.h>
/* define message structures */
#define vl_typedefs
-#include <plugins/ioam/lib-pot/pot_all_api_h.h>
+#include <ioam/lib-pot/pot_all_api_h.h>
#undef vl_typedefs
/* define generated endian-swappers */
#define vl_endianfun
-#include <plugins/ioam/lib-pot/pot_all_api_h.h>
+#include <ioam/lib-pot/pot_all_api_h.h>
#undef vl_endianfun
/* instantiate all the print functions we know about */
#define vl_print(handle, ...) vlib_cli_output (handle, __VA_ARGS__)
#define vl_printfun
-#include <plugins/ioam/lib-pot/pot_all_api_h.h>
+#include <ioam/lib-pot/pot_all_api_h.h>
#undef vl_printfun
/* Get the API version number */
#define vl_api_version(n,v) static u32 api_version=(v);
-#include <plugins/ioam/lib-pot/pot_all_api_h.h>
+#include <ioam/lib-pot/pot_all_api_h.h>
#undef vl_api_version
/*
diff --git a/plugins/plugins/ioam/lib-pot/pot_msg_enum.h b/plugins/ioam-plugin/ioam/lib-pot/pot_msg_enum.h
index 87fae740..a4a88bed 100644
--- a/plugins/plugins/ioam/lib-pot/pot_msg_enum.h
+++ b/plugins/ioam-plugin/ioam/lib-pot/pot_msg_enum.h
@@ -19,7 +19,7 @@
#define vl_msg_id(n,h) n,
typedef enum {
-#include <plugins/ioam/lib-pot/pot_all_api_h.h>
+#include <ioam/lib-pot/pot_all_api_h.h>
/* We'll want to know how many messages IDs we need... */
VL_MSG_FIRST_AVAILABLE,
} vl_msg_id_t;
diff --git a/plugins/plugins/ioam/lib-pot/pot_test.c b/plugins/ioam-plugin/ioam/lib-pot/pot_test.c
index a6d9330f..8e728cea 100644
--- a/plugins/plugins/ioam/lib-pot/pot_test.c
+++ b/plugins/ioam-plugin/ioam/lib-pot/pot_test.c
@@ -25,28 +25,28 @@
#include <vppinfra/error.h>
/* Declare message IDs */
-#include <plugins/ioam/lib-pot/pot_msg_enum.h>
+#include <ioam/lib-pot/pot_msg_enum.h>
/* define message structures */
#define vl_typedefs
-#include <plugins/ioam/lib-pot/pot_all_api_h.h>
+#include <ioam/lib-pot/pot_all_api_h.h>
#undef vl_typedefs
/* declare message handlers for each api */
#define vl_endianfun /* define message structures */
-#include <plugins/ioam/lib-pot/pot_all_api_h.h>
+#include <ioam/lib-pot/pot_all_api_h.h>
#undef vl_endianfun
/* instantiate all the print functions we know about */
#define vl_print(handle, ...)
#define vl_printfun
-#include <plugins/ioam/lib-pot/pot_all_api_h.h>
+#include <ioam/lib-pot/pot_all_api_h.h>
#undef vl_printfun
/* Get the API version number. */
#define vl_api_version(n,v) static u32 api_version=(v);
-#include <plugins/ioam/lib-pot/pot_all_api_h.h>
+#include <ioam/lib-pot/pot_all_api_h.h>
#undef vl_api_version
diff --git a/plugins/plugins/ioam/lib-pot/pot_util.c b/plugins/ioam-plugin/ioam/lib-pot/pot_util.c
index 0309cbec..0309cbec 100644
--- a/plugins/plugins/ioam/lib-pot/pot_util.c
+++ b/plugins/ioam-plugin/ioam/lib-pot/pot_util.c
diff --git a/plugins/plugins/ioam/lib-pot/pot_util.h b/plugins/ioam-plugin/ioam/lib-pot/pot_util.h
index 9df31fae..9df31fae 100644
--- a/plugins/plugins/ioam/lib-pot/pot_util.h
+++ b/plugins/ioam-plugin/ioam/lib-pot/pot_util.h
diff --git a/plugins/sample-plugin/Makefile.am b/plugins/sample-plugin/Makefile.am
index 2b47717b..30b17194 100644
--- a/plugins/sample-plugin/Makefile.am
+++ b/plugins/sample-plugin/Makefile.am
@@ -41,7 +41,6 @@ if WITH_PLUGIN_TOOLKIT
install-data-hook:
mkdir /usr/lib/vpp_plugins || true
mkdir /usr/lib/vpp_api_test_plugins || true
- cp $(prefix)/lib/sample_plugin.so.*.*.* /usr/lib/vpp_plugins
- cp $(prefix)/lib/sample_test_plugin.so.*.*.* \
- /usr/lib/vpp_api_test_plugins
+ cp -L $(prefix)/lib/sample_plugin.so /usr/lib/vpp_plugins
+ cp -L $(prefix)/lib/sample_test_plugin.so /usr/lib/vpp_api_test_plugins
endif
diff --git a/plugins/sixrd-plugin/Makefile.am b/plugins/sixrd-plugin/Makefile.am
new file mode 100644
index 00000000..c2fae798
--- /dev/null
+++ b/plugins/sixrd-plugin/Makefile.am
@@ -0,0 +1,37 @@
+# Copyright (c) 2015 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+AUTOMAKE_OPTIONS = foreign subdir-objects
+
+AM_CFLAGS = -Wall -I@TOOLKIT_INCLUDE@
+
+libsixrd_plugin_la_SOURCES = \
+ sixrd/sixrd.c \
+ sixrd/ip4_sixrd.c \
+ sixrd/ip6_sixrd.c
+
+nobase_include_HEADERS = \
+ sixrd/sixrd.h
+
+libsixrd_plugin_la_LDFLAGS = -module
+
+BUILT_SOURCES =
+
+lib_LTLIBRARIES = libsixrd_plugin.la
+
+if WITH_PLUGIN_TOOLKIT
+install-data-hook:
+ mkdir /usr/lib/vpp_plugins || true
+ mkdir /usr/lib/vpp_api_test_plugins || true
+ cp -L $(prefix)/lib/libsixrd_plugin.so /usr/lib/vpp_plugins
+endif
diff --git a/plugins/sixrd-plugin/configure.ac b/plugins/sixrd-plugin/configure.ac
new file mode 100644
index 00000000..c00a23bb
--- /dev/null
+++ b/plugins/sixrd-plugin/configure.ac
@@ -0,0 +1,17 @@
+AC_INIT(sixrd_plugin, 1.0)
+LT_INIT
+AM_INIT_AUTOMAKE
+
+AM_PROG_AS
+AC_PROG_CC
+AM_PROG_CC_C_O
+
+AC_ARG_WITH(plugin-toolkit,
+ AC_HELP_STRING([--with-plugin-toolkit],
+ [build using the vpp toolkit]),
+ [with_plugin_toolkit=${prefix}/include],
+ [with_plugin_toolkit=.])
+
+AC_SUBST(TOOLKIT_INCLUDE,[${with_plugin_toolkit}])
+AM_CONDITIONAL(WITH_PLUGIN_TOOLKIT, test "$with_plugin_toolkit" != ".")
+AC_OUTPUT([Makefile])
diff --git a/plugins/plugins/sixrd/ip4_sixrd.c b/plugins/sixrd-plugin/sixrd/ip4_sixrd.c
index 2fb8015d..2fb8015d 100644
--- a/plugins/plugins/sixrd/ip4_sixrd.c
+++ b/plugins/sixrd-plugin/sixrd/ip4_sixrd.c
diff --git a/plugins/plugins/sixrd/ip6_sixrd.c b/plugins/sixrd-plugin/sixrd/ip6_sixrd.c
index 36f3fab3..36f3fab3 100644
--- a/plugins/plugins/sixrd/ip6_sixrd.c
+++ b/plugins/sixrd-plugin/sixrd/ip6_sixrd.c
diff --git a/plugins/plugins/sixrd/sixrd.c b/plugins/sixrd-plugin/sixrd/sixrd.c
index 8ebdb32b..8ebdb32b 100644
--- a/plugins/plugins/sixrd/sixrd.c
+++ b/plugins/sixrd-plugin/sixrd/sixrd.c
diff --git a/plugins/plugins/sixrd/sixrd.h b/plugins/sixrd-plugin/sixrd/sixrd.h
index 2f0912f0..2f0912f0 100644
--- a/plugins/plugins/sixrd/sixrd.h
+++ b/plugins/sixrd-plugin/sixrd/sixrd.h
diff --git a/plugins/vcgn-plugin/Makefile.am b/plugins/vcgn-plugin/Makefile.am
new file mode 100644
index 00000000..f9705d05
--- /dev/null
+++ b/plugins/vcgn-plugin/Makefile.am
@@ -0,0 +1,99 @@
+# Copyright (c) 2015 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+AUTOMAKE_OPTIONS = foreign subdir-objects
+
+AM_CFLAGS = -Wall -I@TOOLKIT_INCLUDE@
+
+########################################
+# Virtual Carrier Grade NAT
+########################################
+
+libvcgn_plugin_la_SOURCES = \
+ vcgn/cnat_bulk_port.c \
+ vcgn/cnat_config.c \
+ vcgn/cnat_db_scanner.c \
+ vcgn/cnat_db_v2.c \
+ vcgn/cnat_debug_msg_handler.c \
+ vcgn/cnat_cli_handler.c \
+ vcgn/cnat_global.c \
+ vcgn/cnat_ipv4_udp_inside_input.c \
+ vcgn/cnat_ipv4_udp_inside_input_exceptions.c \
+ vcgn/cnat_ipv4_udp_outside_input.c \
+ vcgn/cnat_ipv4_tcp_inside_input.c \
+ vcgn/cnat_ipv4_tcp_inside_input_exceptions.c \
+ vcgn/cnat_ipv4_tcp_outside_input.c \
+ vcgn/cnat_ipv4_icmp_query_inside_input.c \
+ vcgn/cnat_ipv4_icmp_query_inside_input_exception.c \
+ vcgn/cnat_ipv4_icmp_query_outside_input.c \
+ vcgn/cnat_ipv4_icmp_error_inside_input.c \
+ vcgn/cnat_ipv4_icmp_error_outside_input.c \
+ vcgn/cnat_logging.c \
+ vcgn/cnat_ports.c \
+ vcgn/cnat_util.c \
+ vcgn/cnat_show.c \
+ vcgn/cnat_syslog.c \
+ vcgn/cnat_v4_functions.c \
+ vcgn/index_list.c \
+ vcgn/spp_platform_trace_log.c \
+ vcgn/vcgn_classify.c
+
+nobase_include_HEADERS = \
+ vcgn/cgn_bitmap.h \
+ vcgn/cgse_defs.h \
+ vcgn/cnat_bulk_port_defs.h \
+ vcgn/cnat_bulk_port.h \
+ vcgn/cnat_cli.h \
+ vcgn/cnat_common_api.h \
+ vcgn/cnat_config_api.h \
+ vcgn/cnat_config.h \
+ vcgn/cnat_db.h \
+ vcgn/cnat_global.h \
+ vcgn/cnat_ipv4_icmp.h \
+ vcgn/cnat_ipv4_udp.h \
+ vcgn/cnat_log_api.h \
+ vcgn/cnat_log_common.h \
+ vcgn/cnat_logging.h \
+ vcgn/cnat_pcp_server.h \
+ vcgn/cnat_ports.h \
+ vcgn/cnat_show_api.h \
+ vcgn/cnat_show_response.h \
+ vcgn/cnat_syslog.h \
+ vcgn/cnat_v4_ftp_alg.h \
+ vcgn/cnat_v4_functions.h \
+ vcgn/cnat_v4_pptp_alg.h \
+ vcgn/cnat_va_db.h \
+ vcgn/dslite_db.h \
+ vcgn/dslite_defs.h \
+ vcgn/index_list.h \
+ vcgn/nat64_db.h \
+ vcgn/nat64_defs.h \
+ vcgn/nat64_tcp_sm.h \
+ vcgn/platform_common.h \
+ vcgn/platform_common_override.h \
+ vcgn/spp_ctx.h \
+ vcgn/spp_platform_trace_log.h \
+ vcgn/spp_timers.h \
+ vcgn/tcp_header_definitions.h \
+ vcgn/vcgn_db.h
+
+libvcgn_plugin_la_LDFLAGS = -module
+
+lib_LTLIBRARIES = libvcgn_plugin.la
+
+if WITH_PLUGIN_TOOLKIT
+install-data-hook:
+ mkdir /usr/lib/vpp_plugins || true
+ mkdir /usr/lib/vpp_api_test_plugins || true
+ cp -L $(prefix)/lib/libvcgn_plugin.so /usr/lib/vpp_plugins
+endif
diff --git a/plugins/vcgn-plugin/configure.ac b/plugins/vcgn-plugin/configure.ac
new file mode 100644
index 00000000..ced22669
--- /dev/null
+++ b/plugins/vcgn-plugin/configure.ac
@@ -0,0 +1,17 @@
+AC_INIT(vcgn_plugin, 1.0)
+LT_INIT
+AM_INIT_AUTOMAKE
+
+AM_PROG_AS
+AC_PROG_CC
+AM_PROG_CC_C_O
+
+AC_ARG_WITH(plugin-toolkit,
+ AC_HELP_STRING([--with-plugin-toolkit],
+ [build using the vpp toolkit]),
+ [with_plugin_toolkit=${prefix}/include],
+ [with_plugin_toolkit=.])
+
+AC_SUBST(TOOLKIT_INCLUDE,[${with_plugin_toolkit}])
+AM_CONDITIONAL(WITH_PLUGIN_TOOLKIT, test "$with_plugin_toolkit" != ".")
+AC_OUTPUT([Makefile])
diff --git a/plugins/plugins/vcgn/README b/plugins/vcgn-plugin/vcgn/README
index 9b903967..9b903967 100644
--- a/plugins/plugins/vcgn/README
+++ b/plugins/vcgn-plugin/vcgn/README
diff --git a/plugins/plugins/vcgn/cgn_bitmap.h b/plugins/vcgn-plugin/vcgn/cgn_bitmap.h
index 6c46b75a..6c46b75a 100644
--- a/plugins/plugins/vcgn/cgn_bitmap.h
+++ b/plugins/vcgn-plugin/vcgn/cgn_bitmap.h
diff --git a/plugins/plugins/vcgn/cgse_defs.h b/plugins/vcgn-plugin/vcgn/cgse_defs.h
index 08255875..08255875 100644
--- a/plugins/plugins/vcgn/cgse_defs.h
+++ b/plugins/vcgn-plugin/vcgn/cgse_defs.h
diff --git a/plugins/plugins/vcgn/cnat_bulk_port.c b/plugins/vcgn-plugin/vcgn/cnat_bulk_port.c
index d8894eb8..d8894eb8 100644
--- a/plugins/plugins/vcgn/cnat_bulk_port.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_bulk_port.c
diff --git a/plugins/plugins/vcgn/cnat_bulk_port.h b/plugins/vcgn-plugin/vcgn/cnat_bulk_port.h
index 3e48b9a7..3e48b9a7 100644
--- a/plugins/plugins/vcgn/cnat_bulk_port.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_bulk_port.h
diff --git a/plugins/plugins/vcgn/cnat_bulk_port_defs.h b/plugins/vcgn-plugin/vcgn/cnat_bulk_port_defs.h
index edb47b0a..edb47b0a 100644
--- a/plugins/plugins/vcgn/cnat_bulk_port_defs.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_bulk_port_defs.h
diff --git a/plugins/plugins/vcgn/cnat_cli.h b/plugins/vcgn-plugin/vcgn/cnat_cli.h
index e9d190a5..e9d190a5 100644
--- a/plugins/plugins/vcgn/cnat_cli.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_cli.h
diff --git a/plugins/plugins/vcgn/cnat_cli_handler.c b/plugins/vcgn-plugin/vcgn/cnat_cli_handler.c
index a4010349..a4010349 100644
--- a/plugins/plugins/vcgn/cnat_cli_handler.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_cli_handler.c
diff --git a/plugins/plugins/vcgn/cnat_common_api.h b/plugins/vcgn-plugin/vcgn/cnat_common_api.h
index a4eb7443..a4eb7443 100644
--- a/plugins/plugins/vcgn/cnat_common_api.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_common_api.h
diff --git a/plugins/plugins/vcgn/cnat_config.c b/plugins/vcgn-plugin/vcgn/cnat_config.c
index 87183dfa..87183dfa 100644
--- a/plugins/plugins/vcgn/cnat_config.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_config.c
diff --git a/plugins/plugins/vcgn/cnat_config.h b/plugins/vcgn-plugin/vcgn/cnat_config.h
index f1042737..f1042737 100644
--- a/plugins/plugins/vcgn/cnat_config.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_config.h
diff --git a/plugins/plugins/vcgn/cnat_config_api.h b/plugins/vcgn-plugin/vcgn/cnat_config_api.h
index 0789d6a9..0789d6a9 100644
--- a/plugins/plugins/vcgn/cnat_config_api.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_config_api.h
diff --git a/plugins/plugins/vcgn/cnat_db.h b/plugins/vcgn-plugin/vcgn/cnat_db.h
index 3596e238..3596e238 100644
--- a/plugins/plugins/vcgn/cnat_db.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_db.h
diff --git a/plugins/plugins/vcgn/cnat_db_scanner.c b/plugins/vcgn-plugin/vcgn/cnat_db_scanner.c
index 6e536d84..6e536d84 100644
--- a/plugins/plugins/vcgn/cnat_db_scanner.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_db_scanner.c
diff --git a/plugins/plugins/vcgn/cnat_db_v2.c b/plugins/vcgn-plugin/vcgn/cnat_db_v2.c
index 2b43849d..2b43849d 100644
--- a/plugins/plugins/vcgn/cnat_db_v2.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_db_v2.c
diff --git a/plugins/plugins/vcgn/cnat_debug_msg_handler.c b/plugins/vcgn-plugin/vcgn/cnat_debug_msg_handler.c
index 519f4b64..519f4b64 100644
--- a/plugins/plugins/vcgn/cnat_debug_msg_handler.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_debug_msg_handler.c
diff --git a/plugins/plugins/vcgn/cnat_global.c b/plugins/vcgn-plugin/vcgn/cnat_global.c
index 71770834..71770834 100644
--- a/plugins/plugins/vcgn/cnat_global.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_global.c
diff --git a/plugins/plugins/vcgn/cnat_global.h b/plugins/vcgn-plugin/vcgn/cnat_global.h
index 823a4797..823a4797 100644
--- a/plugins/plugins/vcgn/cnat_global.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_global.h
diff --git a/plugins/plugins/vcgn/cnat_ipv4_icmp.h b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp.h
index 664b62ac..664b62ac 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_icmp.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp.h
diff --git a/plugins/plugins/vcgn/cnat_ipv4_icmp_error_inside_input.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_error_inside_input.c
index 218d7e53..218d7e53 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_icmp_error_inside_input.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_error_inside_input.c
diff --git a/plugins/plugins/vcgn/cnat_ipv4_icmp_error_outside_input.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_error_outside_input.c
index f25f4d02..f25f4d02 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_icmp_error_outside_input.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_error_outside_input.c
diff --git a/plugins/plugins/vcgn/cnat_ipv4_icmp_query_inside_input.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_inside_input.c
index 1b9f0266..1b9f0266 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_icmp_query_inside_input.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_inside_input.c
diff --git a/plugins/plugins/vcgn/cnat_ipv4_icmp_query_inside_input_exception.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_inside_input_exception.c
index 9b5e280e..9b5e280e 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_icmp_query_inside_input_exception.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_inside_input_exception.c
diff --git a/plugins/plugins/vcgn/cnat_ipv4_icmp_query_outside_input.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_outside_input.c
index 2c05e0b4..2c05e0b4 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_icmp_query_outside_input.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_icmp_query_outside_input.c
diff --git a/plugins/plugins/vcgn/cnat_ipv4_tcp_inside_input.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_inside_input.c
index 5bea7073..5bea7073 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_tcp_inside_input.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_inside_input.c
diff --git a/plugins/plugins/vcgn/cnat_ipv4_tcp_inside_input_exceptions.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_inside_input_exceptions.c
index bc1bebb0..bc1bebb0 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_tcp_inside_input_exceptions.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_inside_input_exceptions.c
diff --git a/plugins/plugins/vcgn/cnat_ipv4_tcp_outside_input.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_outside_input.c
index bcf132b1..bcf132b1 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_tcp_outside_input.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_tcp_outside_input.c
diff --git a/plugins/plugins/vcgn/cnat_ipv4_udp.h b/plugins/vcgn-plugin/vcgn/cnat_ipv4_udp.h
index 1ccf74a0..1ccf74a0 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_udp.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_udp.h
diff --git a/plugins/plugins/vcgn/cnat_ipv4_udp_inside_input.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_inside_input.c
index 657c5f1e..657c5f1e 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_udp_inside_input.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_inside_input.c
diff --git a/plugins/plugins/vcgn/cnat_ipv4_udp_inside_input_exceptions.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_inside_input_exceptions.c
index f078c8d4..f078c8d4 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_udp_inside_input_exceptions.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_inside_input_exceptions.c
diff --git a/plugins/plugins/vcgn/cnat_ipv4_udp_outside_input.c b/plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_outside_input.c
index 5a24a111..5a24a111 100644
--- a/plugins/plugins/vcgn/cnat_ipv4_udp_outside_input.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ipv4_udp_outside_input.c
diff --git a/plugins/plugins/vcgn/cnat_log_api.h b/plugins/vcgn-plugin/vcgn/cnat_log_api.h
index 60cf6836..60cf6836 100644
--- a/plugins/plugins/vcgn/cnat_log_api.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_log_api.h
diff --git a/plugins/plugins/vcgn/cnat_log_common.h b/plugins/vcgn-plugin/vcgn/cnat_log_common.h
index 52731bc0..52731bc0 100644
--- a/plugins/plugins/vcgn/cnat_log_common.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_log_common.h
diff --git a/plugins/plugins/vcgn/cnat_logging.c b/plugins/vcgn-plugin/vcgn/cnat_logging.c
index 50805d11..50805d11 100644
--- a/plugins/plugins/vcgn/cnat_logging.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_logging.c
diff --git a/plugins/plugins/vcgn/cnat_logging.h b/plugins/vcgn-plugin/vcgn/cnat_logging.h
index 7bd43ecf..7bd43ecf 100644
--- a/plugins/plugins/vcgn/cnat_logging.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_logging.h
diff --git a/plugins/plugins/vcgn/cnat_pcp_server.h b/plugins/vcgn-plugin/vcgn/cnat_pcp_server.h
index c77c6a87..c77c6a87 100644
--- a/plugins/plugins/vcgn/cnat_pcp_server.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_pcp_server.h
diff --git a/plugins/plugins/vcgn/cnat_ports.c b/plugins/vcgn-plugin/vcgn/cnat_ports.c
index 943fb3ed..943fb3ed 100644
--- a/plugins/plugins/vcgn/cnat_ports.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_ports.c
diff --git a/plugins/plugins/vcgn/cnat_ports.h b/plugins/vcgn-plugin/vcgn/cnat_ports.h
index bc1fb0d2..bc1fb0d2 100644
--- a/plugins/plugins/vcgn/cnat_ports.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_ports.h
diff --git a/plugins/plugins/vcgn/cnat_show.c b/plugins/vcgn-plugin/vcgn/cnat_show.c
index 68c52756..68c52756 100644
--- a/plugins/plugins/vcgn/cnat_show.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_show.c
diff --git a/plugins/plugins/vcgn/cnat_show_api.h b/plugins/vcgn-plugin/vcgn/cnat_show_api.h
index 5904c7e2..5904c7e2 100644
--- a/plugins/plugins/vcgn/cnat_show_api.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_show_api.h
diff --git a/plugins/plugins/vcgn/cnat_show_response.h b/plugins/vcgn-plugin/vcgn/cnat_show_response.h
index bec1bd97..bec1bd97 100644
--- a/plugins/plugins/vcgn/cnat_show_response.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_show_response.h
diff --git a/plugins/plugins/vcgn/cnat_syslog.c b/plugins/vcgn-plugin/vcgn/cnat_syslog.c
index 91758f14..91758f14 100644
--- a/plugins/plugins/vcgn/cnat_syslog.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_syslog.c
diff --git a/plugins/plugins/vcgn/cnat_syslog.h b/plugins/vcgn-plugin/vcgn/cnat_syslog.h
index 931f4b9c..931f4b9c 100644
--- a/plugins/plugins/vcgn/cnat_syslog.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_syslog.h
diff --git a/plugins/plugins/vcgn/cnat_util.c b/plugins/vcgn-plugin/vcgn/cnat_util.c
index c3697b6b..c3697b6b 100644
--- a/plugins/plugins/vcgn/cnat_util.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_util.c
diff --git a/plugins/plugins/vcgn/cnat_v4_ftp_alg.h b/plugins/vcgn-plugin/vcgn/cnat_v4_ftp_alg.h
index df3dfcb0..df3dfcb0 100644
--- a/plugins/plugins/vcgn/cnat_v4_ftp_alg.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_v4_ftp_alg.h
diff --git a/plugins/plugins/vcgn/cnat_v4_functions.c b/plugins/vcgn-plugin/vcgn/cnat_v4_functions.c
index d3051fba..d3051fba 100644
--- a/plugins/plugins/vcgn/cnat_v4_functions.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_v4_functions.c
diff --git a/plugins/plugins/vcgn/cnat_v4_functions.h b/plugins/vcgn-plugin/vcgn/cnat_v4_functions.h
index 2429e5e1..2429e5e1 100644
--- a/plugins/plugins/vcgn/cnat_v4_functions.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_v4_functions.h
diff --git a/plugins/plugins/vcgn/cnat_v4_pptp_alg.h b/plugins/vcgn-plugin/vcgn/cnat_v4_pptp_alg.h
index 5a6d4243..5a6d4243 100644
--- a/plugins/plugins/vcgn/cnat_v4_pptp_alg.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_v4_pptp_alg.h
diff --git a/plugins/plugins/vcgn/cnat_v4_tcp_in2out_stages.c b/plugins/vcgn-plugin/vcgn/cnat_v4_tcp_in2out_stages.c
index 220ced46..220ced46 100644
--- a/plugins/plugins/vcgn/cnat_v4_tcp_in2out_stages.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_v4_tcp_in2out_stages.c
diff --git a/plugins/plugins/vcgn/cnat_va_db.c b/plugins/vcgn-plugin/vcgn/cnat_va_db.c
index 7423bdf2..7423bdf2 100644
--- a/plugins/plugins/vcgn/cnat_va_db.c
+++ b/plugins/vcgn-plugin/vcgn/cnat_va_db.c
diff --git a/plugins/plugins/vcgn/cnat_va_db.h b/plugins/vcgn-plugin/vcgn/cnat_va_db.h
index 6e0051b4..6e0051b4 100644
--- a/plugins/plugins/vcgn/cnat_va_db.h
+++ b/plugins/vcgn-plugin/vcgn/cnat_va_db.h
diff --git a/plugins/plugins/vcgn/dslite_db.h b/plugins/vcgn-plugin/vcgn/dslite_db.h
index 2269b98c..2269b98c 100644
--- a/plugins/plugins/vcgn/dslite_db.h
+++ b/plugins/vcgn-plugin/vcgn/dslite_db.h
diff --git a/plugins/plugins/vcgn/dslite_defs.h b/plugins/vcgn-plugin/vcgn/dslite_defs.h
index 4860adcb..4860adcb 100644
--- a/plugins/plugins/vcgn/dslite_defs.h
+++ b/plugins/vcgn-plugin/vcgn/dslite_defs.h
diff --git a/plugins/plugins/vcgn/index_list.c b/plugins/vcgn-plugin/vcgn/index_list.c
index ec1b83b0..ec1b83b0 100644
--- a/plugins/plugins/vcgn/index_list.c
+++ b/plugins/vcgn-plugin/vcgn/index_list.c
diff --git a/plugins/plugins/vcgn/index_list.h b/plugins/vcgn-plugin/vcgn/index_list.h
index 498cd7eb..498cd7eb 100644
--- a/plugins/plugins/vcgn/index_list.h
+++ b/plugins/vcgn-plugin/vcgn/index_list.h
diff --git a/plugins/plugins/vcgn/nat64_db.h b/plugins/vcgn-plugin/vcgn/nat64_db.h
index 837464f6..837464f6 100644
--- a/plugins/plugins/vcgn/nat64_db.h
+++ b/plugins/vcgn-plugin/vcgn/nat64_db.h
diff --git a/plugins/plugins/vcgn/nat64_defs.h b/plugins/vcgn-plugin/vcgn/nat64_defs.h
index 47e431a7..47e431a7 100644
--- a/plugins/plugins/vcgn/nat64_defs.h
+++ b/plugins/vcgn-plugin/vcgn/nat64_defs.h
diff --git a/plugins/plugins/vcgn/nat64_tcp_sm.h b/plugins/vcgn-plugin/vcgn/nat64_tcp_sm.h
index 3a505bc1..3a505bc1 100644
--- a/plugins/plugins/vcgn/nat64_tcp_sm.h
+++ b/plugins/vcgn-plugin/vcgn/nat64_tcp_sm.h
diff --git a/plugins/plugins/vcgn/platform_common.h b/plugins/vcgn-plugin/vcgn/platform_common.h
index 2805b607..2805b607 100644
--- a/plugins/plugins/vcgn/platform_common.h
+++ b/plugins/vcgn-plugin/vcgn/platform_common.h
diff --git a/plugins/plugins/vcgn/platform_common_override.h b/plugins/vcgn-plugin/vcgn/platform_common_override.h
index d6d3b078..d6d3b078 100644
--- a/plugins/plugins/vcgn/platform_common_override.h
+++ b/plugins/vcgn-plugin/vcgn/platform_common_override.h
diff --git a/plugins/plugins/vcgn/spp_ctx.h b/plugins/vcgn-plugin/vcgn/spp_ctx.h
index 2d3c95c8..2d3c95c8 100644
--- a/plugins/plugins/vcgn/spp_ctx.h
+++ b/plugins/vcgn-plugin/vcgn/spp_ctx.h
diff --git a/plugins/plugins/vcgn/spp_platform_trace_log.c b/plugins/vcgn-plugin/vcgn/spp_platform_trace_log.c
index a96894f9..a96894f9 100644
--- a/plugins/plugins/vcgn/spp_platform_trace_log.c
+++ b/plugins/vcgn-plugin/vcgn/spp_platform_trace_log.c
diff --git a/plugins/plugins/vcgn/spp_platform_trace_log.h b/plugins/vcgn-plugin/vcgn/spp_platform_trace_log.h
index 36da710f..36da710f 100644
--- a/plugins/plugins/vcgn/spp_platform_trace_log.h
+++ b/plugins/vcgn-plugin/vcgn/spp_platform_trace_log.h
diff --git a/plugins/plugins/vcgn/spp_timers.h b/plugins/vcgn-plugin/vcgn/spp_timers.h
index afb0147b..afb0147b 100644
--- a/plugins/plugins/vcgn/spp_timers.h
+++ b/plugins/vcgn-plugin/vcgn/spp_timers.h
diff --git a/plugins/plugins/vcgn/tcp_header_definitions.h b/plugins/vcgn-plugin/vcgn/tcp_header_definitions.h
index 02920bcc..02920bcc 100644
--- a/plugins/plugins/vcgn/tcp_header_definitions.h
+++ b/plugins/vcgn-plugin/vcgn/tcp_header_definitions.h
diff --git a/plugins/plugins/vcgn/vcgn_classify.c b/plugins/vcgn-plugin/vcgn/vcgn_classify.c
index 18cc4ba0..18cc4ba0 100644
--- a/plugins/plugins/vcgn/vcgn_classify.c
+++ b/plugins/vcgn-plugin/vcgn/vcgn_classify.c
diff --git a/plugins/plugins/vcgn/vcgn_db.h b/plugins/vcgn-plugin/vcgn/vcgn_db.h
index cd7d835c..cd7d835c 100644
--- a/plugins/plugins/vcgn/vcgn_db.h
+++ b/plugins/vcgn-plugin/vcgn/vcgn_db.h