-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2018-2020 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
devices/netlink.c
flow/flow.c
flow/flow_cli.c
+ flow/flow_api.c
handoff.c
interface.c
interface_api.c
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
interface.api
interface_types.api
ip/ip_types.api
+ flow/flow_types.api
+ flow/flow.api
)
##############################################################################
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
+# Binary API compatibility until vpp 20.12, see the ADL plugin...
##############################################################################
+
list(APPEND VNET_SOURCES
- cop/cop.c
- cop/node1.c
- cop/ip4_whitelist.c
- cop/ip6_whitelist.c
cop/cop_api.c
)
-list(APPEND VNET_MULTIARCH_SOURCES
- cop/node1.c
- cop/ip4_whitelist.c
- cop/ip6_whitelist.c
-)
-
-list(APPEND VNET_HEADERS
- cop/cop.h
-)
-
list(APPEND VNET_API_FILES cop/cop.api)
##############################################################################
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/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/ip6_hop_by_hop_packet.h
ip/ip6_packet.h
ip/ip.h
+ ip/ip_table.h
+ ip/ip_interface.h
ip/ip_packet.h
ip/ip_source_and_port_range_check.h
ip/ip_types.h
crypto/cli.c
crypto/crypto.c
crypto/format.c
+ crypto/node.c
+ crypto/crypto_api.c
)
list(APPEND VNET_HEADERS
crypto/crypto.h
)
+list(APPEND VNET_MULTIARCH_SOURCES crypto/node.c)
+
+list(APPEND VNET_API_FILES crypto/crypto.api)
+
##############################################################################
# Layer 3 protocol: IPSec
##############################################################################
ipsec/ipsec_format.c
ipsec/ipsec_handoff.c
ipsec/ipsec_input.c
+ ipsec/ipsec_itf.c
ipsec/ipsec_punt.c
ipsec/ipsec_sa.c
ipsec/ipsec_spd.c
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/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
##############################################################################
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/gro.h
+ gso/gro_func.h
+ gso/hdr_offset_parser.h
gso/gso.h
)
devices/virtio/vhost_user_api.c
devices/virtio/virtio.c
devices/virtio/virtio_api.c
+ devices/virtio/virtio_pci_legacy.c
+ devices/virtio/virtio_pci_modern.c
devices/virtio/virtio_types_api.c
)
list(APPEND VNET_HEADERS
devices/virtio/pci.h
devices/virtio/virtio.h
+ devices/virtio/virtio_std.h
+ devices/virtio/virtio_pci_legacy.h
+ devices/virtio/virtio_pci_modern.h
+ devices/virtio/vhost_std.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
devices/tap/tap.h
)
-list(APPEND VNET_API_FILES devices/tap/tapv2.api)
+list(APPEND VNET_API_FILES
+ devices/tap/tapv2.api
+)
##############################################################################
# tap interface (with virtio backend)
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
##############################################################################
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)
##############################################################################
-# NHRP
+# 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
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
)