api: missing support for dumping of neighbours (VPP-333)
[vpp.git] / vnet / Makefile.am
index 56baf40..7cf19eb 100644 (file)
 
 AUTOMAKE_OPTIONS = foreign subdir-objects
 
-AM_CFLAGS = -Wall -Werror @DPDK@ @IPSEC@ @IPV6SR@
+AM_CFLAGS = -Wall -Werror @DPDK@ @DPDK_CRYPTO@ @IPSEC@ @IPV6SR@
+
+BUILT_SOURCES = vnet/interface.api.h vnet/interface.api.json vnet/l2/l2.api.h \
+  vnet/l2/l2.api.json
 
 libvnet_la_SOURCES =
 libvnetplugin_la_SOURCES =
@@ -31,8 +34,10 @@ endif
 ########################################
 libvnet_la_SOURCES +=                                  \
   vnet/config.c                                                \
+  vnet/devices/devices.c                               \
   vnet/handoff.c                                       \
   vnet/interface.c                                     \
+  vnet/interface_api.c                                 \
   vnet/interface_cli.c                                 \
   vnet/interface_format.c                              \
   vnet/interface_output.c                              \
@@ -44,15 +49,19 @@ nobase_include_HEADERS +=                   \
   vnet/api_errno.h                             \
   vnet/buffer.h                                        \
   vnet/config.h                                        \
+  vnet/devices/devices.h                       \
   vnet/global_funcs.h                          \
   vnet/handoff.h                               \
   vnet/interface.h                             \
+  vnet/interface.api.h                         \
   vnet/interface_funcs.h                       \
   vnet/l3_types.h                              \
   vnet/pipeline.h                              \
   vnet/replication.h                           \
   vnet/rewrite.h                               \
-  vnet/vnet.h
+  vnet/vnet.h                                  \
+  vnet/vnet_all_api_h.h                                \
+  vnet/vnet_msg_enum.h
 
 ########################################
 # Policer infra
@@ -66,7 +75,6 @@ libvnet_la_SOURCES +=                         \
 nobase_include_HEADERS +=                      \
   vnet/policer/police.h                                \
   vnet/policer/policer.h                       \
-  vnet/policer/fix_types.h                     \
   vnet/policer/xlate.h
 
 ########################################
@@ -109,6 +117,7 @@ nobase_include_HEADERS +=                   \
 ########################################
 libvnet_la_SOURCES +=                          \
  vnet/l2/feat_bitmap.c                         \
+ vnet/l2/l2_api.c                                      \
  vnet/l2/l2_bd.c                               \
  vnet/l2/l2_bvi.c                              \
  vnet/l2/l2_input_classify.c                   \
@@ -142,7 +151,8 @@ nobase_include_HEADERS +=                   \
  vnet/l2/l2_fib.h                              \
  vnet/l2/l2_rw.h                                \
  vnet/l2/l2_xcrw.h                             \
- vnet/l2/l2_classify.h
+ vnet/l2/l2_classify.h                         \
+ vnet/l2/l2.api.h
 
 ########################################
 # Layer 2 protocol: SRP
@@ -267,7 +277,6 @@ nobase_include_HEADERS +=                   \
 # Layer 3 protocol: IP v4/v6
 ########################################
 libvnet_la_SOURCES +=                          \
- vnet/ip/feature_registration.c                        \
  vnet/ip/format.c                              \
  vnet/ip/icmp4.c                               \
  vnet/ip/icmp6.c                               \
@@ -299,7 +308,6 @@ libvnet_la_SOURCES +=                               \
  vnet/ip/udp_pg.c
 
 nobase_include_HEADERS +=                      \
- vnet/ip/feature_registration.h                        \
  vnet/ip/format.h                              \
  vnet/ip/icmp46_packet.h                       \
  vnet/ip/icmp4.h                               \
@@ -314,6 +322,7 @@ nobase_include_HEADERS +=                   \
  vnet/ip/ip6_hop_by_hop.h                      \
  vnet/ip/ip6_hop_by_hop_packet.h               \
  vnet/ip/ip6_packet.h                          \
+ vnet/ip/ip6_neighbor.h                                \
  vnet/ip/ip.h                                  \
  vnet/ip/ip_packet.h                           \
  vnet/ip/ip_source_and_port_range_check.h      \
@@ -346,7 +355,15 @@ libvnet_la_SOURCES +=                              \
  vnet/ipsec/ikev2_cli.c                                \
  vnet/ipsec/ikev2_payload.c                    \
  vnet/ipsec/ikev2_format.c
-endif 
+if WITH_DPDK_CRYPTO
+libvnet_la_SOURCES +=                          \
+ vnet/devices/dpdk/ipsec/esp_encrypt.c         \
+ vnet/devices/dpdk/ipsec/esp_decrypt.c         \
+ vnet/devices/dpdk/ipsec/crypto_node.c         \
+ vnet/devices/dpdk/ipsec/cli.c                 \
+ vnet/devices/dpdk/ipsec/ipsec.c
+endif
+endif
 
 libvnet_la_SOURCES +=                          \
  vnet/ipsec/ipsec_output.c
@@ -356,6 +373,11 @@ nobase_include_HEADERS +=                          \
  vnet/ipsec/esp.h                              \
  vnet/ipsec/ikev2.h                             \
  vnet/ipsec/ikev2_priv.h
+if WITH_DPDK_CRYPTO
+nobase_include_HEADERS +=                      \
+ vnet/devices/dpdk/ipsec/ipsec.h               \
+ vnet/devices/dpdk/ipsec/esp.h
+endif
 
 ########################################
 # Layer 3 protocol: osi
@@ -434,12 +456,13 @@ libvnet_la_SOURCES +=                             \
  vnet/mpls/mpls_features.c                     \
  vnet/mpls/node.c                              \
  vnet/mpls/interface.c                         \
- vnet/mpls/policy_encap.c                      \
+ vnet/mpls/mpls_tunnel.c                       \
  vnet/mpls/pg.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
 
@@ -630,9 +653,19 @@ libvnet_la_SOURCES +=                              \
   vnet/lawful-intercept/node.c
 
 nobase_include_HEADERS +=                      \
-  vnet/dpdk_replication.h                      \
   vnet/lawful-intercept/lawful_intercept.h
 
+########################################
+# SPAN (port mirroring)
+########################################
+
+libvnet_la_SOURCES +=                          \
+  vnet/span/span.c     \
+  vnet/span/node.c
+
+nobase_include_HEADERS +=                      \
+  vnet/span/span.h
+
 ########################################
 # Packet generator
 ########################################
@@ -650,7 +683,7 @@ nobase_include_HEADERS +=                   \
   vnet/pg/edit.h
 
 ########################################
-# Intel DPDK
+# DPDK
 ########################################
 if WITH_DPDK
 libvnet_la_SOURCES +=                          \
@@ -660,7 +693,6 @@ libvnet_la_SOURCES +=                               \
   vnet/devices/dpdk/init.c                     \
   vnet/devices/dpdk/node.c                     \
   vnet/devices/dpdk/hqos.c                     \
-  vnet/devices/dpdk/vhost_user.c    \
   vnet/devices/dpdk/cli.c
 
 nobase_include_HEADERS +=                      \
@@ -720,6 +752,17 @@ nobase_include_HEADERS +=                  \
   vnet/devices/netmap/netmap.h
 
 
+########################################
+# Driver feature graph arc support
+########################################
+
+libvnet_la_SOURCES +=                          \
+  vnet/feature/feature.c                       \
+  vnet/feature/registration.c
+
+nobase_include_HEADERS +=                      \
+  vnet/feature/feature.h
+
 ########################################
 # Unix kernel related
 ########################################
@@ -763,6 +806,7 @@ libvnet_la_SOURCES +=                               \
   vnet/fib/fib_entry_src_mpls.c                 \
   vnet/fib/fib_entry_src_lisp.c                 \
   vnet/fib/fib_entry_cover.c                    \
+  vnet/fib/fib_entry_delegate.c                 \
   vnet/fib/fib_path_list.c                      \
   vnet/fib/fib_path.c                          \
   vnet/fib/fib_path_ext.c                      \
@@ -777,7 +821,8 @@ nobase_include_HEADERS +=                   \
   vnet/fib/fib_table.h                         \
   vnet/fib/fib_node.h                          \
   vnet/fib/fib_node_list.h                     \
-  vnet/fib/fib_entry.h                         
+  vnet/fib/fib_entry.h                         \
+  vnet/fib/fib_entry_delegate.h
 
 ########################################
 # ADJ
@@ -844,3 +889,16 @@ pcap2pg_LDFLAGS = -static
 pcap2pg_LDADD = libvnet.la -l:libvppinfra.a -lpthread -lm -ldl
 
 noinst_PROGRAMS += pcap2pg
+
+# Set the suffix list
+SUFFIXES = .api.h .api .api.json
+
+# install the API definition, so we can produce java bindings, etc.
+
+apidir = $(prefix)/vnet
+api_DATA = vnet/interface.api.json vnet/l2/l2.api.json
+
+# The actual %.api.h rule is in .../build-data/packages/suffix-rules.mk
+# and requires a symbolic link at the top of the vnet source tree
+
+include $(top_srcdir)/suffix-rules.mk