# See the License for the specific language governing permissions and
# limitations under the License.
-libvnet_la_SOURCES =
-libvnetplugin_la_SOURCES =
+lib_LTLIBRARIES += libvnet.la
-libvnet_la_LIBAD = libvppinfra.la libvlib.la libsvm.la
+libvnet_la_SOURCES =
+libvnet_la_DEPENDENCIES = \
+ libvppinfra.la \
+ libvlib.la \
+ libsvmdb.la \
+ libsvm.la \
+ libvlibapi.la \
+ libvlibmemory.la \
+ libvlibmemoryclient.la
+
+libvnet_la_LIBADD = $(libvnet_la_DEPENDENCIES) -lm -lpthread -ldl -lrt $(DPDK_LD_ADD)
+libvnet_la_LDFLAGS = $(DPDK_LD_FLAGS)
+
+if WITH_LIBSSL
+libvnet_la_LIBADD += -lcrypto
+endif
########################################
# Generic stuff
vnet/classify/policer_classify.c \
vnet/classify/flow_classify.c \
vnet/classify/flow_classify_node.c \
- vnet/classify/vnet_classify.h
+ vnet/classify/vnet_classify.h \
+ vnet/classify/classify_api.c
nobase_include_HEADERS += \
vnet/classify/vnet_classify.h \
vnet/classify/input_acl.h \
vnet/classify/policer_classify.h \
- vnet/classify/flow_classify.h
+ vnet/classify/flow_classify.h \
+ vnet/classify/classify.api.h
+
+API_FILES += vnet/classify/classify.api
########################################
# Layer 3 protocols go here
########################################
# Layer 3 protocol: IPSec
########################################
-if WITH_IPSEC
+if WITH_LIBSSL
libvnet_la_SOURCES += \
vnet/ipsec/ipsec.c \
vnet/ipsec/ipsec_cli.c \
vnet/mpls/node.c \
vnet/mpls/interface.c \
vnet/mpls/mpls_tunnel.c \
- vnet/mpls/pg.c
+ vnet/mpls/pg.c \
+ vnet/mpls/mpls_api.c
nobase_include_HEADERS += \
vnet/mpls/mpls.h \
vnet/mpls/mpls_types.h \
vnet/mpls/mpls_tunnel.h \
vnet/mpls/packet.h \
- vnet/mpls/error.def
+ vnet/mpls/error.def \
+ vnet/mpls/mpls.api.h
+API_FILES += vnet/mpls/mpls.api
########################################
# Tunnel protocol: vxlan-gpe
libsvmdb.la \
libvlibapi.la \
libvlibmemory.la \
- -lpthread -ldl -lrt -lm -lcrypto
+ -lpthread -ldl -lrt -lm
TESTS += test_cp_serdes test_lisp_types
test_cp_serdes_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_lisp_types_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
-test_cp_serdes_LDFLAGS = $(DPDK_LD_FLAGS)
-test_cp_serdes_LDADD = $(LDS) $(DPDK_LD_ADD)
-test_lisp_types_LDFLAGS = $(DPDK_LD_FLAGS)
-test_lisp_types_LDADD = $(LDS) $(DPDK_LD_ADD)
+test_cp_serdes_LDADD = $(LDS)
+test_lisp_types_LDADD = $(LDS)
endif
########################################
# ipv6 segment routing
########################################
-if WITH_IPV6SR
+if WITH_LIBSSL
libvnet_la_SOURCES += \
vnet/sr/sr.c \
- vnet/sr/sr_replicate.c
+ vnet/sr/sr_replicate.c \
+ vnet/sr/sr_api.c
endif
nobase_include_HEADERS += \
vnet/sr/sr_packet.h \
vnet/sr/sr_error.def \
- vnet/sr/sr.h
+ vnet/sr/sr.h \
+ vnet/sr/sr.api.h
+
+API_FILES += vnet/sr/sr.api
########################################
# DHCPv6 proxy
# IPFIX / netflow v10
########################################
libvnet_la_SOURCES += \
- vnet/flow/flow_report.c
+ vnet/flow/flow_report.c \
+ vnet/flow/flow_api.c
nobase_include_HEADERS += \
vnet/flow/flow_report.h \
vnet/flow/ipfix_info_elements.h \
- vnet/flow/ipfix_packet.h
+ vnet/flow/ipfix_packet.h \
+ vnet/flow/flow.api.h
+
+API_FILES += vnet/flow/flow.api
########################################
# IPFIX classify code
########################################
if WITH_DPDK
libvnet_la_SOURCES += \
+ vnet/devices/dpdk/buffer.c \
vnet/devices/dpdk/dpdk_priv.h \
vnet/devices/dpdk/device.c \
vnet/devices/dpdk/format.c \
vnet/devices/dpdk/init.c \
+ vnet/devices/dpdk/main.c \
vnet/devices/dpdk/node.c \
+ vnet/devices/dpdk/thread.c \
vnet/devices/dpdk/hqos.c \
- vnet/devices/dpdk/cli.c
+ vnet/devices/dpdk/cli.c \
+ vnet/devices/dpdk/dpdk_api.c
nobase_include_HEADERS += \
- vnet/devices/dpdk/dpdk.h
+ vnet/devices/dpdk/dpdk.h \
+ vnet/devices/dpdk/dpdk.api.h
+
+API_FILES += vnet/devices/dpdk/dpdk.api
else
libvnet_la_SOURCES += \
vnet/devices/nic/ixge.c \
# Plugin client library
########################################
-libvnetplugin_la_SOURCES += \
- vnet/plugin/p1.c
-
nobase_include_HEADERS += \
vnet/plugin/plugin.h
-libvnetdir = ${libdir}
-libvnet_LTLIBRARIES = libvnet.la libvnetplugin.la
-
pcap2pg_SOURCES = \
vnet/unix/pcap2pg.c \
vnet/unix/pcap.h