X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2FCMakeLists.txt;h=737a17e078a2f51086b1089af57c2a3dc7869855;hb=d0236f725;hp=9c1bceb5753d2ac2a2443217c34aae611b5064a1;hpb=26c7a4b0b6488423688f4a7f3c8aacf0d1b9c742;p=vpp.git diff --git a/src/vnet/CMakeLists.txt b/src/vnet/CMakeLists.txt index 9c1bceb5753..737a17e078a 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 @@ -422,6 +422,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 +431,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,27 +440,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/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 @@ -485,16 +485,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 @@ -504,7 +506,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES ip/ip.api - ip/rd_cp.api ip/punt.api ) @@ -515,15 +516,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 ) ############################################################################## @@ -556,12 +567,15 @@ list(APPEND VNET_SOURCES 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 ############################################################################## @@ -569,9 +583,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 @@ -584,6 +598,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 @@ -591,12 +606,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 @@ -608,7 +624,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 @@ -638,9 +655,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 ) @@ -653,7 +672,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 ) @@ -665,6 +689,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 @@ -730,7 +755,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 @@ -849,6 +893,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 @@ -858,8 +903,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) @@ -906,7 +953,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 @@ -922,7 +972,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 @@ -940,6 +993,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 ############################################################################## @@ -1015,28 +1089,34 @@ 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_pci_legacy.h + devices/virtio/virtio_pci_modern.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 @@ -1045,6 +1125,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 ) ############################################################################## @@ -1084,6 +1165,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 @@ -1147,7 +1229,6 @@ list(APPEND VNET_SOURCES ) list(APPEND VNET_MULTIARCH_SOURCES - devices/netmap/device.c devices/af_packet/device.c ) @@ -1157,24 +1238,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 ############################################################################## @@ -1222,21 +1285,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 @@ -1254,6 +1318,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) @@ -1279,6 +1344,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 @@ -1465,6 +1531,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 ############################################################################## @@ -1475,6 +1592,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 )