libvnetplugin_la_SOURCES =
nobase_include_HEADERS =
noinst_PROGRAMS =
+TESTS =
########################################
# Generic stuff
########################################
libvnet_la_SOURCES += \
vnet/ethernet/arp.c \
- vnet/ethernet/cli.c \
vnet/ethernet/format.c \
vnet/ethernet/init.c \
vnet/ethernet/interface.c \
vnet/mpls-gre/error.def
+########################################
+# NSH Map: nsh
+########################################
+ libvnet_la_SOURCES += \
+ vnet/nsh/nsh.c
+
+ nobase_include_HEADERS += \
+ vnet/nsh/nsh_packet.h \
+ vnet/nsh/nsh.h \
+ vnet/nsh/nsh_error.def
+
+
########################################
# Tunnel protocol: nsh-gre
########################################
+# libvnet_la_SOURCES += \
+# vnet/nsh-gre/nsh_gre.c \
+# vnet/nsh-gre/encap.c \
+# vnet/nsh-gre/decap.c
+
+# nobase_include_HEADERS += \
+# vnet/nsh-gre/nsh_gre.h
+
+########################################
+# Tunnel protocol: vxlan-gpe
+########################################
+
libvnet_la_SOURCES += \
- vnet/nsh-gre/nsh_gre.c \
- vnet/nsh-gre/encap.c \
- vnet/nsh-gre/decap.c
+ vnet/vxlan-gpe/vxlan_gpe.c \
+ vnet/vxlan-gpe/encap.c \
+ vnet/vxlan-gpe/decap.c
nobase_include_HEADERS += \
- vnet/nsh-gre/nsh_gre.h \
- vnet/nsh-gre/nsh_gre_packet.h \
- vnet/nsh-gre/nsh_gre_error.def
+ vnet/vxlan-gpe/vxlan_gpe.h \
+ vnet/vxlan-gpe/vxlan_gpe_packet.h \
+ vnet/vxlan-gpe/vxlan_gpe_error.def
########################################
-# Tunnel protocol: nsh-vxlan-gpe
+# LISP control plane: lisp-cp
########################################
libvnet_la_SOURCES += \
- vnet/nsh-vxlan-gpe/nsh_vxlan_gpe.c \
- vnet/nsh-vxlan-gpe/encap.c \
- vnet/nsh-vxlan-gpe/decap.c
+ vnet/lisp-cp/lisp_types.c \
+ vnet/lisp-cp/control.c \
+ vnet/lisp-cp/gid_dictionary.c \
+ vnet/lisp-cp/lisp_msg_serdes.c \
+ vnet/lisp-cp/packets.c
nobase_include_HEADERS += \
- vnet/nsh-vxlan-gpe/nsh_vxlan_gpe.h \
- vnet/nsh-vxlan-gpe/vxlan_gpe_packet.h \
- vnet/nsh-vxlan-gpe/nsh_vxlan_gpe_error.def
+ vnet/lisp-cp/lisp_types.h \
+ vnet/lisp-cp/packets.h \
+ vnet/lisp-cp/gid_dictionary.h \
+ vnet/lisp-cp/lisp_cp_messages.h \
+ vnet/lisp-cp/lisp_msg_serdes.h \
+ vnet/lisp-cp/control.h
+
+
+if ENABLE_TESTS
+LDS = -lvppinfra -l:libvlib.a -l:libdpdk.a -l:libvlibmemory.a \
+ -l:libvlibapi.a -l:libsvm.a -lpthread -ldl -lrt -lm -l:libvlib_unix.a
+
+TESTS += test_cp_serdes test_lisp_types
+
+test_cp_serdes_SOURCES = \
+ test/lisp-cp/test_cp_serdes.c \
+ vnet/lisp-cp/lisp_msg_serdes.c \
+ vnet/lisp-cp/lisp_types.c \
+ vnet/lisp-cp/packets.c \
+ vnet/ip/ip_checksum.c
+
+test_lisp_types_SOURCES = \
+ test/lisp-cp/test_lisp_types.c \
+ vnet/lisp-cp/lisp_types.c
+
+test_cp_serdes_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
+test_lisp_types_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
+
+test_cp_serdes_LDADD = libvnet.la $(LDS)
+test_lisp_types_LDADD = libvnet.la $(LDS)
+
+test_cp_serdes_LDFLAGS = -static
+test_lisp_types_LDFLAGS = -static
+endif
########################################
# Tunnel protocol: lisp-gpe
libvnet_la_SOURCES += \
vnet/lisp-gpe/lisp_gpe.c \
- vnet/lisp-gpe/encap.c \
- vnet/lisp-gpe/decap.c
+ vnet/lisp-gpe/interface.c \
+ vnet/lisp-gpe/ip_forward.c \
+ vnet/lisp-gpe/decap.c
nobase_include_HEADERS += \
vnet/lisp-gpe/lisp_gpe.h \
vnet/lisp-gpe/lisp_gpe_packet.h \
- vnet/lisp-gpe/lisp_gpe_error.def
+ vnet/lisp-gpe/lisp_gpe_error.def
+
+if ENABLE_TESTS
+TESTS += test_test
+
+test_test_SOURCES = test/lisp-gpe/test.c
+
+test_test_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
+
+test_test_LDADD = $(LIBOBJS)
+
+noinst_PROGRAMS += $(TESTS)
+check_PROGRAMS = $(TESTS)
+endif
########################################
# DHCP client
if WITH_IPV6SR
libvnet_la_SOURCES += \
- vnet/sr/sr.c
+ vnet/sr/sr.c \
+ vnet/sr/sr_replicate.c
endif
nobase_include_HEADERS += \
nobase_include_HEADERS += \
vnet/devices/af_packet/af_packet.h
+########################################
+# NETMAP interface
+########################################
+
+libvnet_la_SOURCES += \
+ vnet/devices/netmap/netmap.c \
+ vnet/devices/netmap/device.c \
+ vnet/devices/netmap/node.c \
+ vnet/devices/netmap/cli.c
+
+nobase_include_HEADERS += \
+ vnet/devices/netmap/netmap.h
+
+
########################################
# Unix kernel related
########################################
nobase_include_HEADERS += \
vnet/plugin/plugin.h
+########################################
+# Service Chain verification util
+########################################
+libvnet_la_SOURCES += \
+ vnet/lib-scv/scv_util.c
+
+nobase_include_HEADERS += \
+ vnet/lib-scv/scv_util.h \
+ vnet/lib-scv/math64.h
+
lib_LTLIBRARIES = libvnet.la libvnetplugin.la
dpdk_libs =
pcap2pg_LDADD = libvnet.la -l:libvppinfra.a -lpthread -lm -ldl
noinst_PROGRAMS += pcap2pg
+
+