# Layer 2 protocol: Ethernet
##############################################################################
list(APPEND VNET_SOURCES
+ ethernet/arp_packet.c
ethernet/ethernet_types_api.c
ethernet/format.c
ethernet/init.c
ethernet/types.def
ethernet/sfp.h
ethernet/p2p_ethernet.h
+ ethernet/arp_packet.h
)
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
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
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
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
list(APPEND VNET_API_FILES
ip/ip.api
- ip/rd_cp.api
ip/punt.api
)
)
##############################################################################
-# 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
)
##############################################################################
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
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
ipip/sixrd.c
ipip/ipip_api.c
ipip/ipip_cli.c
- ipip/ipip_types_api.c
)
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
##############################################################################
list(APPEND VNET_API_FILES syslog/syslog.api)
+##############################################################################
+# 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)
+
##############################################################################
# NHRP
##############################################################################
list(APPEND VNET_API_FILES nhrp/nhrp.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
##############################################################################
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
)