handoff.h
interface.h
interface_funcs.h
+ interface_output.h
ip/ip4_to_ip6.h
ip/ip6_to_ip4.h
ip/ip_types_api.h
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
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
# 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/ip4_mtrie.c
ip/ip4_pg.c
ip/ip4_source_and_port_range_check.c
- ip/ip4_source_check.c
ip/reass/ip4_full_reass.c
ip/reass/ip4_sv_reass.c
ip/ip6_format.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/ip.c
+ ip/ip_interface.c
ip/ip_init.c
ip/ip_in_out_acl.c
ip/ip_punt_drop.c
ip/punt_api.c
ip/punt.c
ip/punt_node.c
+ ip/vtep.c
)
list(APPEND VNET_MULTIARCH_SOURCES
- ip/ip4_source_check.c
ip/ip4_punt_drop.c
ip/reass/ip4_full_reass.c
ip/ip6_hop_by_hop.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_interface.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
)
##############################################################################
crypto/cli.c
crypto/crypto.c
crypto/format.c
+ crypto/node.c
)
list(APPEND VNET_HEADERS
crypto/crypto.h
)
+list(APPEND VNET_MULTIARCH_SOURCES crypto/node.c)
+
##############################################################################
# Layer 3 protocol: IPSec
##############################################################################
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/ah_decrypt.c
ipsec/ah_encrypt.c
ipsec/ipsec_api.c
+ ipsec/ipsec_types_api.c
)
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
)
+list(APPEND VNET_API_FILES ipsec/ipsec_types.api)
list(APPEND VNET_API_FILES ipsec/ipsec.api)
list(APPEND VNET_SOURCES
ipsec/ipsec_spd_policy.h
ipsec/ipsec_sa.h
ipsec/ipsec_tun.h
+ ipsec/ipsec_types_api.h
ipsec/ipsec_punt.h
ipsec/esp.h
ipsec/ah.h
tcp/tcp_output.c
tcp/tcp_input.c
tcp/tcp_newreno.c
- tcp/tcp_cubic.c
tcp/tcp_bt.c
+ tcp/tcp_cli.c
+ tcp/tcp_cubic.c
tcp/tcp_debug.c
+ tcp/tcp_sack.c
tcp/tcp.c
)
list(APPEND VNET_HEADERS
tcp/tcp_packet.h
tcp/tcp_timer.h
+ tcp/tcp_bt.h
+ tcp/tcp_cc.h
tcp/tcp_debug.h
+ tcp/tcp_inlines.h
+ tcp/tcp_sack.h
+ tcp/tcp_types.h
tcp/tcp.h
tcp/tcp_error.def
)
##############################################################################
list(APPEND VNET_SOURCES
udp/udp.c
+ udp/udp_cli.c
udp/udp_input.c
udp/udp_format.c
udp/udp_local.c
ipip/ipip.h
)
-list(APPEND VNET_API_FILES ipip/ipip.api)
+list(APPEND VNET_API_FILES
+ 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
lisp-cp/lisp_cli.c
lisp-cp/one_api.c
lisp-cp/lisp_api.c
+ lisp-cp/lisp_types_api.c
)
list(APPEND VNET_HEADERS
lisp-cp/lisp_cp_messages.h
lisp-cp/lisp_msg_serdes.h
lisp-cp/control.h
+ lisp-cp/lisp_types_api.h
)
+list(APPEND VNET_API_FILES lisp-cp/lisp_types.api)
list(APPEND VNET_API_FILES lisp-cp/lisp.api)
list(APPEND VNET_API_FILES lisp-cp/one.api)
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
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
)
list(APPEND VNET_HEADERS
+ gso/hdr_offset_parser.h
gso/gso.h
)
##############################################################################
list(APPEND VNET_SOURCES
+ devices/virtio/cli.c
devices/virtio/device.c
+ devices/virtio/format.c
devices/virtio/node.c
+ devices/virtio/pci.c
devices/virtio/vhost_user.c
devices/virtio/vhost_user_input.c
devices/virtio/vhost_user_output.c
devices/virtio/vhost_user_api.c
devices/virtio/virtio.c
devices/virtio/virtio_api.c
- devices/virtio/cli.c
- devices/virtio/pci.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
list(APPEND VNET_API_FILES
devices/virtio/vhost_user.api
devices/virtio/virtio.api
+ devices/virtio/virtio_types.api
)
##############################################################################
list(APPEND VNET_SOURCES
session/session.c
+ session/session_debug.c
session/session_table.c
session/session_rules_table.c
session/session_lookup.c
)
list(APPEND VNET_MULTIARCH_SOURCES
- devices/netmap/device.c
devices/af_packet/device.c
)
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
##############################################################################
fib/fib_node_list.c
fib/fib_entry.c
fib/fib_entry_src.c
- fib/fib_entry_src_rr.c
+ fib/fib_entry_src_adj.c
+ fib/fib_entry_src_api.c
+ fib/fib_entry_src_drop.c
fib/fib_entry_src_interface.c
fib/fib_entry_src_interpose.c
- fib/fib_entry_src_default_route.c
- fib/fib_entry_src_special.c
- fib/fib_entry_src_api.c
- fib/fib_entry_src_adj.c
- fib/fib_entry_src_mpls.c
fib/fib_entry_src_lisp.c
+ fib/fib_entry_src_mpls.c
+ fib/fib_entry_src_simple.c
+ fib/fib_entry_src_rr.c
fib/fib_entry_cover.c
fib/fib_entry_delegate.c
fib/fib_entry_track.c
fib/fib_path_list.c
fib/fib_path.c
fib/fib_path_ext.c
+ fib/fib_source.c
fib/fib_urpf_list.c
fib/fib_attached_export.c
fib/fib_api.c
fib/fib_node_list.h
fib/fib_entry.h
fib/fib_entry_delegate.h
+ fib/fib_source.h
)
list(APPEND VNET_API_FILES fib/fib_types.api)
list(APPEND VNET_MULTIARCH_SOURCES
adj/adj_nsh.c
adj/adj_l2.c
+ adj/adj_midchain.c
)
list(APPEND VNET_HEADERS
list(APPEND VNET_API_FILES syslog/syslog.api)
+##############################################################################
+# Tunnel Endpoint Information Base
+##############################################################################
+
+list (APPEND VNET_SOURCES
+ teib/teib_api.c
+ teib/teib_cli.c
+ teib/teib.c
+)
+
+list(APPEND VNET_HEADERS
+ teib/teib.h
+)
+
+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
##############################################################################
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
)