sr: srv6 API cleanup
[vpp.git] / src / vnet / CMakeLists.txt
index 21653ab..95068f9 100644 (file)
@@ -67,6 +67,9 @@ list(APPEND VNET_HEADERS
   vnet_msg_enum.h
   util/radix.h
   util/refcount.h
+  format_fns.h
+  ip/ip_format_fns.h
+  ethernet/ethernet_format_fns.h
 )
 
 list(APPEND VNET_API_FILES
@@ -95,7 +98,10 @@ list(APPEND VNET_HEADERS
   policer/xlate.h
 )
 
-list(APPEND VNET_API_FILES policer/policer.api)
+list(APPEND VNET_API_FILES
+  policer/policer.api
+  policer/policer_types.api
+)
 
 ##############################################################################
 # Cop - junk filter
@@ -128,6 +134,7 @@ list(APPEND VNET_API_FILES cop/cop.api)
 # Layer 2 protocol: Ethernet
 ##############################################################################
 list(APPEND VNET_SOURCES
+  ethernet/arp_packet.c
   ethernet/ethernet_types_api.c
   ethernet/format.c
   ethernet/init.c
@@ -154,6 +161,7 @@ list(APPEND VNET_HEADERS
   ethernet/types.def
   ethernet/sfp.h
   ethernet/p2p_ethernet.h
+  ethernet/arp_packet.h
 )
 
 list(APPEND VNET_API_FILES
@@ -166,6 +174,7 @@ list(APPEND VNET_API_FILES
 list(APPEND VNET_SOURCES
   l2/feat_bitmap.c
   l2/l2_api.c
+  l2/l2_arp_term.c
   l2/l2_bd.c
   l2/l2_bvi.c
   l2/l2_bvi_node.c
@@ -422,6 +431,7 @@ list(APPEND VNET_SOURCES
   ip/icmp6.c
   ip/ip46_cli.c
   ip/ip_types_api.c
+  ip/ip46_address.c
   ip/ip4_format.c
   ip/ip4_forward.c
   ip/ip4_punt_drop.c
@@ -440,12 +450,10 @@ list(APPEND VNET_SOURCES
   ip/ip6_punt_drop.c
   ip/ip6_hop_by_hop.c
   ip/ip6_input.c
-  ip/ip6_neighbor.c
+  ip/ip6_link.c
   ip/ip6_pg.c
   ip/reass/ip6_full_reass.c
   ip/reass/ip6_sv_reass.c
-  ip/rd_cp.c
-  ip/ip_neighbor.c
   ip/ip_api.c
   ip/ip_checksum.c
   ip/ip_frag.c
@@ -458,6 +466,7 @@ list(APPEND VNET_SOURCES
   ip/punt_api.c
   ip/punt.c
   ip/punt_node.c
+  ip/vtep.c
 )
 
 list(APPEND VNET_MULTIARCH_SOURCES
@@ -486,16 +495,15 @@ list(APPEND VNET_HEADERS
   ip/ip4.h
   ip/ip4_mtrie.h
   ip/ip4_packet.h
+  ip/ip46_address.h
   ip/ip6_error.h
   ip/ip6.h
   ip/ip6_hop_by_hop.h
   ip/ip6_hop_by_hop_packet.h
   ip/ip6_packet.h
-  ip/ip6_neighbor.h
   ip/ip.h
   ip/ip_packet.h
   ip/ip_source_and_port_range_check.h
-  ip/ip_neighbor.h
   ip/ip_types.h
   ip/lookup.h
   ip/ports.def
@@ -506,7 +514,6 @@ list(APPEND VNET_HEADERS
 
 list(APPEND VNET_API_FILES
   ip/ip.api
-  ip/rd_cp.api
   ip/punt.api
 )
 
@@ -517,15 +524,25 @@ list(APPEND VNET_MULTIARCH_SOURCES
 )
 
 ##############################################################################
-# Layer 2/3 ARP
+# Layer 3 neighbours
 ##############################################################################
 list(APPEND VNET_SOURCES
-  ethernet/arp.c
+  ip-neighbor/ip_neighbor.c
+  ip-neighbor/ip_neighbor_api.c
+  ip-neighbor/ip_neighbor_dp.c
+  ip-neighbor/ip_neighbor_types.c
+  ip-neighbor/ip_neighbor_watch.c
+  ip-neighbor/ip4_neighbor.c
+  ip-neighbor/ip6_neighbor.c
 )
 
 list(APPEND VNET_HEADERS
-  ethernet/arp_packet.h
-  ethernet/arp.h
+  ip-neighbor/ip_neighbor.h
+  ip-neighbor/ip_neighbor_types.h
+)
+
+list(APPEND VNET_API_FILES
+  ip-neighbor/ip_neighbor.api
 )
 
 ##############################################################################
@@ -571,6 +588,7 @@ list(APPEND VNET_SOURCES
   ipsec/ipsec.c
   ipsec/ipsec_cli.c
   ipsec/ipsec_format.c
+  ipsec/ipsec_handoff.c
   ipsec/ipsec_input.c
   ipsec/ipsec_punt.c
   ipsec/ipsec_sa.c
@@ -592,6 +610,7 @@ list(APPEND VNET_MULTIARCH_SOURCES
   ipsec/esp_decrypt.c
   ipsec/ah_decrypt.c
   ipsec/ah_encrypt.c
+  ipsec/ipsec_handoff.c
   ipsec/ipsec_output.c
   ipsec/ipsec_input.c
   ipsec/ipsec_tun_in.c
@@ -722,7 +741,6 @@ list(APPEND VNET_SOURCES
   ipip/sixrd.c
   ipip/ipip_api.c
   ipip/ipip_cli.c
-  ipip/ipip_types_api.c
 )
 
 list(APPEND VNET_MULTIARCH_SOURCES
@@ -731,14 +749,29 @@ list(APPEND VNET_MULTIARCH_SOURCES
 
 list(APPEND VNET_HEADERS
   ipip/ipip.h
-  ipip/ipip_types_api.h
 )
 
 list(APPEND VNET_API_FILES
-  ipip/ipip_types.api
   ipip/ipip.api
 )
 
+##############################################################################
+# Tunnel infra
+##############################################################################
+list(APPEND VNET_SOURCES
+  tunnel/tunnel.c
+  tunnel/tunnel_types_api.c
+)
+
+list(APPEND VNET_API_FILES
+  tunnel/tunnel_types.api
+)
+
+list(APPEND VNET_HEADERS
+  tunnel/tunnel.h
+  tunnel/tunnel_dp.h
+)
+
 ##############################################################################
 # Tunnel protocol: l2tpv3
 ##############################################################################
@@ -913,7 +946,10 @@ list(APPEND VNET_HEADERS
   srv6/sr.h
 )
 
-list(APPEND VNET_API_FILES srv6/sr.api)
+list(APPEND VNET_API_FILES
+  srv6/sr.api
+  srv6/sr_types.api
+)
 
 ##############################################################################
 # mpls segment routing
@@ -929,7 +965,10 @@ list(APPEND VNET_HEADERS
   srmpls/sr_mpls.h
 )
 
-list(APPEND VNET_API_FILES srmpls/sr_mpls.api)
+list(APPEND VNET_API_FILES
+  srmpls/sr_mpls.api
+  srv6/sr_types.api
+)
 
 ##############################################################################
 # IPFIX / netflow v10
@@ -1051,18 +1090,19 @@ list(APPEND VNET_SOURCES
   devices/virtio/vhost_user_api.c
   devices/virtio/virtio.c
   devices/virtio/virtio_api.c
+  devices/virtio/virtio_types_api.c
 )
 
 list(APPEND VNET_HEADERS
   devices/virtio/pci.h
   devices/virtio/virtio.h
   devices/virtio/vhost_user.h
+  devices/virtio/virtio_types_api.h
 )
 
 list(APPEND VNET_MULTIARCH_SOURCES
   devices/virtio/vhost_user_input.c
   devices/virtio/vhost_user_output.c
-  devices/netmap/node.c
   devices/virtio/node.c
   devices/af_packet/node.c
   devices/virtio/device.c
@@ -1071,6 +1111,7 @@ list(APPEND VNET_MULTIARCH_SOURCES
 list(APPEND VNET_API_FILES
   devices/virtio/vhost_user.api
   devices/virtio/virtio.api
+  devices/virtio/virtio_types.api
 )
 
 ##############################################################################
@@ -1173,7 +1214,6 @@ list(APPEND VNET_SOURCES
 )
 
 list(APPEND VNET_MULTIARCH_SOURCES
-  devices/netmap/device.c
   devices/af_packet/device.c
 )
 
@@ -1183,24 +1223,6 @@ list(APPEND VNET_HEADERS
 
 list(APPEND VNET_API_FILES devices/af_packet/af_packet.api)
 
-##############################################################################
-# NETMAP interface
-##############################################################################
-
-list(APPEND VNET_SOURCES
-  devices/netmap/netmap.c
-  devices/netmap/device.c
-  devices/netmap/node.c
-  devices/netmap/cli.c
-  devices/netmap/netmap_api.c
-)
-
-list(APPEND VNET_HEADERS
-  devices/netmap/netmap.h
-)
-
-list(APPEND VNET_API_FILES devices/netmap/netmap.api)
-
 ##############################################################################
 # Driver feature graph arc support
 ##############################################################################
@@ -1494,20 +1516,69 @@ list(APPEND VNET_HEADERS
 list(APPEND VNET_API_FILES syslog/syslog.api)
 
 ##############################################################################
-# NHRP
+# PCI
+##############################################################################
+
+list (APPEND VNET_SOURCES
+  pci/pci_types_api.c
+)
+
+list(APPEND VNET_HEADERS
+  pci/pci_types_api.h
+)
+
+list(APPEND VNET_API_FILES pci/pci_types.api)
+
+##############################################################################
+# Tunnel Endpoint Information Base
 ##############################################################################
 
 list (APPEND VNET_SOURCES
-  nhrp/nhrp_api.c
-  nhrp/nhrp_cli.c
-  nhrp/nhrp.c
+  teib/teib_api.c
+  teib/teib_cli.c
+  teib/teib.c
 )
 
 list(APPEND VNET_HEADERS
-  nhrp/nhrp.h
+  teib/teib.h
 )
 
-list(APPEND VNET_API_FILES nhrp/nhrp.api)
+list(APPEND VNET_API_FILES teib/teib.api)
+
+##############################################################################
+# ARP/ND
+##############################################################################
+
+list (APPEND VNET_SOURCES
+  arp/arp_api.c
+  arp/arp.c
+  arp/arp_proxy.c
+)
+
+list(APPEND VNET_HEADERS
+  arp/arp.h
+)
+
+list(APPEND VNET_API_FILES arp/arp.api)
+
+list (APPEND VNET_SOURCES
+  ip6-nd/ip6_mld.c
+  ip6-nd/ip6_nd.c
+  ip6-nd/ip6_nd_api.c
+  ip6-nd/ip6_nd_proxy.c
+  ip6-nd/ip6_ra.c
+  ip6-nd/rd_cp.c
+  ip6-nd/rd_cp_api.c
+)
+
+list(APPEND VNET_HEADERS
+  ip6-nd/ip6_nd.h
+)
+
+list(APPEND VNET_API_FILES
+  ip6-nd/ip6_nd.api
+  ip6-nd/rd_cp.api
+)
 
 ##############################################################################
 # VNET Library
@@ -1519,6 +1590,15 @@ add_vpp_library(vnet
   INSTALL_HEADERS ${VNET_HEADERS}
   API_FILES ${VNET_API_FILES}
   LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES}
+  DEPENDS vpp_version_h api_headers
+)
+
+##############################################################################
+# vpp api test client library
+##############################################################################
+
+add_vpp_library (vatclient
+  SOURCES ip/ip_types_api.c
   DEPENDS api_headers
 )