X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2FCMakeLists.txt;h=8c315ce5d73f7885027e34f481cced0bdc53ce0c;hb=3f9fdd984;hp=6ce383350bf888539689f51fea79273fef608b77;hpb=de34c35fc73226943538149fae9dbc5cfbdc6e75;p=vpp.git diff --git a/src/vnet/CMakeLists.txt b/src/vnet/CMakeLists.txt index 6ce383350bf..8c315ce5d73 100644 --- a/src/vnet/CMakeLists.txt +++ b/src/vnet/CMakeLists.txt @@ -1,4 +1,4 @@ -# 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: @@ -29,6 +29,7 @@ list(APPEND VNET_SOURCES devices/netlink.c flow/flow.c flow/flow_cli.c + flow/flow_api.c handoff.c interface.c interface_api.c @@ -56,6 +57,7 @@ list(APPEND VNET_HEADERS 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 @@ -67,12 +69,17 @@ 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 interface.api interface_types.api ip/ip_types.api + flow/flow_types.api + flow/flow.api ) ############################################################################## @@ -95,29 +102,19 @@ 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 +# 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) ############################################################################## @@ -128,6 +125,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 +152,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 +165,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 @@ -361,24 +361,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_MULTIARCH_SOURCES bonding/node.c bonding/device.c) list(APPEND VNET_API_FILES bonding/bond.api) -############################################################################## -# Layer 2 / LLDP -############################################################################## -list(APPEND VNET_SOURCES - lldp/lldp_input.c - lldp/lldp_node.c - lldp/lldp_output.c - lldp/lldp_cli.c - lldp/lldp_api.c -) - -list(APPEND VNET_HEADERS - lldp/lldp_protocol.h - lldp/lldp.h -) - -list(APPEND VNET_API_FILES lldp/lldp.api) - ############################################################################## # Layer 2/3 "classify" ############################################################################## @@ -422,6 +404,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 @@ -430,7 +413,6 @@ list(APPEND VNET_SOURCES 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 @@ -440,28 +422,27 @@ 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 ip/ip.c + ip/ip_interface.c ip/ip_init.c ip/ip_in_out_acl.c ip/ip_punt_drop.c + ip/ip_types.c ip/lookup.c - ip/ping.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 @@ -486,16 +467,18 @@ 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_table.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 ip/protocols.def @@ -505,7 +488,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES ip/ip.api - ip/rd_cp.api ip/punt.api ) @@ -516,15 +498,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 ) ############################################################################## @@ -557,12 +549,18 @@ list(APPEND VNET_SOURCES 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 ############################################################################## @@ -570,9 +568,9 @@ 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_if.c - ipsec/ipsec_if_in.c + ipsec/ipsec_itf.c ipsec/ipsec_punt.c ipsec/ipsec_sa.c ipsec/ipsec_spd.c @@ -585,6 +583,7 @@ list(APPEND VNET_SOURCES ipsec/ah_decrypt.c ipsec/ah_encrypt.c ipsec/ipsec_api.c + ipsec/ipsec_types_api.c ) list(APPEND VNET_MULTIARCH_SOURCES @@ -592,12 +591,13 @@ list(APPEND VNET_MULTIARCH_SOURCES ipsec/esp_decrypt.c ipsec/ah_decrypt.c ipsec/ah_encrypt.c - ipsec/ipsec_if_in.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 @@ -609,7 +609,8 @@ list(APPEND VNET_HEADERS ipsec/ipsec_spd.h ipsec/ipsec_spd_policy.h ipsec/ipsec_sa.h - ipsec/ipsec_if.h + ipsec/ipsec_tun.h + ipsec/ipsec_types_api.h ipsec/ipsec_punt.h ipsec/esp.h ipsec/ah.h @@ -639,9 +640,11 @@ list(APPEND VNET_SOURCES 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 ) @@ -654,7 +657,12 @@ list(APPEND VNET_MULTIARCH_SOURCES 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 ) @@ -666,6 +674,7 @@ list(APPEND VNET_API_FILES tcp/tcp.api) ############################################################################## list(APPEND VNET_SOURCES udp/udp.c + udp/udp_cli.c udp/udp_input.c udp/udp_format.c udp/udp_local.c @@ -731,7 +740,26 @@ list(APPEND VNET_HEADERS 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 @@ -850,6 +878,7 @@ list(APPEND VNET_SOURCES 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 @@ -859,8 +888,10 @@ 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) @@ -890,54 +921,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES lisp-gpe/lisp_gpe.api) -############################################################################## -# DHCP client -############################################################################## -list(APPEND VNET_SOURCES - dhcp/client.c - dhcp/dhcp_client_detect.c - dhcp/dhcp6_client_common_dp.c - dhcp/dhcp6_pd_client_dp.c - dhcp/dhcp6_pd_client_cp.c - dhcp/dhcp6_ia_na_client_dp.c - dhcp/dhcp6_ia_na_client_cp.c - dhcp/dhcp_api.c -) - -list(APPEND VNET_MULTIARCH_SOURCES - dhcp/dhcp_client_detect.c -) - -list(APPEND VNET_HEADERS - dhcp/client.h - dhcp/dhcp6_client_common_dp.h - dhcp/dhcp6_pd_client_dp.h - dhcp/dhcp6_ia_na_client_dp.h -) - -list(APPEND VNET_API_FILES - dhcp/dhcp.api - dhcp/dhcp6_pd_client_cp.api - dhcp/dhcp6_ia_na_client_cp.api -) - -############################################################################## -# DHCP proxy -############################################################################## -list(APPEND VNET_SOURCES - dhcp/dhcp6_proxy_node.c - dhcp/dhcp4_proxy_node.c - dhcp/dhcp_proxy.c -) - -list(APPEND VNET_HEADERS - dhcp/dhcp4_packet.h - dhcp/dhcp6_packet.h - dhcp/dhcp_proxy.h - dhcp/dhcp6_proxy_error.def - dhcp/dhcp4_proxy_error.def -) - ############################################################################## # ipv6 segment routing ############################################################################## @@ -955,7 +938,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 @@ -971,7 +957,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 @@ -989,6 +978,27 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES ipfix-export/ipfix_export.api) +############################################################################## +# GSO +############################################################################## +list(APPEND VNET_SOURCES + gso/cli.c + gso/gso.c + gso/gso_api.c + gso/node.c +) + +list(APPEND VNET_HEADERS + gso/gro.h + gso/gro_func.h + gso/hdr_offset_parser.h + gso/gso.h +) + +list(APPEND VNET_API_FILES + gso/gso.api +) + ############################################################################## # IPFIX classify code ############################################################################## @@ -1064,28 +1074,36 @@ list(APPEND VNET_API_FILES pg/pg.api) ############################################################################## 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_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 @@ -1094,6 +1112,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 ) ############################################################################## @@ -1110,7 +1129,9 @@ list(APPEND VNET_HEADERS 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) @@ -1133,6 +1154,7 @@ list(APPEND VNET_API_FILES devices/pipe/pipe.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 @@ -1196,7 +1218,6 @@ list(APPEND VNET_SOURCES ) list(APPEND VNET_MULTIARCH_SOURCES - devices/netmap/device.c devices/af_packet/device.c ) @@ -1206,24 +1227,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 ############################################################################## @@ -1271,21 +1274,22 @@ list(APPEND VNET_SOURCES 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 @@ -1303,6 +1307,7 @@ list(APPEND VNET_HEADERS 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) @@ -1328,6 +1333,7 @@ list(APPEND VNET_SOURCES list(APPEND VNET_MULTIARCH_SOURCES adj/adj_nsh.c adj/adj_l2.c + adj/adj_midchain.c ) list(APPEND VNET_HEADERS @@ -1514,6 +1520,57 @@ 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 ############################################################################## @@ -1524,6 +1581,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 )