X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2FCMakeLists.txt;h=c6c2b2e70e78c5b8e03c61935186169e060dcc91;hb=e2fe09742;hp=f308f7232c261a7528c51658c71d1a91d5013e9e;hpb=e275bed64d12009726fcf43943f1684195cd1e5d;p=vpp.git diff --git a/src/vnet/CMakeLists.txt b/src/vnet/CMakeLists.txt index f308f7232c2..c6c2b2e70e7 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 @@ -42,6 +43,7 @@ list(APPEND VNET_SOURCES list(APPEND VNET_MULTIARCH_SOURCES interface_output.c interface_stats.c + handoff.c ) list(APPEND VNET_HEADERS @@ -55,8 +57,10 @@ 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 l3_types.h plugin/plugin.h pipeline.h @@ -65,9 +69,18 @@ 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) +list(APPEND VNET_API_FILES + interface.api + interface_types.api + ip/ip_types.api + flow/flow_types.api + flow/flow.api +) ############################################################################## # Policer infra @@ -79,35 +92,29 @@ list(APPEND VNET_SOURCES policer/policer_api.c ) +list(APPEND VNET_MULTIARCH_SOURCES + policer/node_funcs.c +) + list(APPEND VNET_HEADERS policer/police.h policer/policer.h 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) ############################################################################## @@ -118,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 @@ -131,7 +139,10 @@ list(APPEND VNET_SOURCES ethernet/p2p_ethernet_api.c ) -list(APPEND VNET_MULTIARCH_SOURCES ethernet/node.c) +list(APPEND VNET_MULTIARCH_SOURCES + ethernet/node.c + ethernet/p2p_ethernet_input.c +) list(APPEND VNET_HEADERS ethernet/error.def @@ -141,9 +152,12 @@ list(APPEND VNET_HEADERS ethernet/types.def ethernet/sfp.h ethernet/p2p_ethernet.h + ethernet/arp_packet.h ) -list(APPEND VNET_API_FILES ethernet/p2p_ethernet.api) +list(APPEND VNET_API_FILES + ethernet/p2p_ethernet.api + ethernet/ethernet_types.api) ############################################################################## # Layer 2 protocol: Ethernet bridging @@ -151,8 +165,10 @@ list(APPEND VNET_API_FILES ethernet/p2p_ethernet.api) 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 l2/l2_input_classify.c l2/l2_output_classify.c l2/l2_efp_filter.c @@ -160,6 +176,7 @@ list(APPEND VNET_SOURCES l2/l2_flood.c l2/l2_fwd.c l2/l2_input.c + l2/l2_input_node.c l2/l2_input_vtr.c l2/l2_learn.c l2/l2_output.c @@ -173,10 +190,22 @@ list(APPEND VNET_SOURCES ) list(APPEND VNET_MULTIARCH_SOURCES + l2/l2_bvi_node.c l2/l2_fwd.c l2/l2_learn.c l2/l2_output.c l2/l2_patch.c + l2/l2_in_out_feat_arc.c + l2/l2_input_classify.c + l2/l2_input_node.c + l2/l2_output_classify.c + l2/l2_flood.c + l2/l2_uu_fwd.c + l2/l2_efp_filter.c + l2/l2_rw.c + l2/l2_xcrw.c + l2/l2_in_out_acl.c + l2/l2_input_vtr.c ) list(APPEND VNET_HEADERS @@ -293,29 +322,6 @@ list(APPEND VNET_MULTIARCH_SOURCES vxlan/decap.c) list(APPEND VNET_API_FILES vxlan/vxlan.api) -############################################################################## -# Layer 2 / Geneve -############################################################################## -list(APPEND VNET_SOURCES - geneve/geneve.c - geneve/encap.c - geneve/decap.c - geneve/geneve_api.c -) - -list(APPEND VNET_MULTIARCH_SOURCES - geneve/encap.c - geneve/decap.c -) - -list(APPEND VNET_HEADERS - geneve/geneve.h - geneve/geneve_packet.h - geneve/geneve_error.def -) - -list(APPEND VNET_API_FILES geneve/geneve.api) - ############################################################################## # Layer 2 / Bonding ############################################################################## @@ -333,29 +339,12 @@ 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" ############################################################################## list(APPEND VNET_SOURCES classify/vnet_classify.c + classify/trace_classify.h classify/ip_classify.c classify/in_out_acl.c classify/policer_classify.c @@ -365,8 +354,14 @@ list(APPEND VNET_SOURCES classify/classify_api.c ) +list(APPEND VNET_MULTIARCH_SOURCES + classify/ip_classify.c + classify/flow_classify_node.c +) + list(APPEND VNET_HEADERS classify/vnet_classify.h + classify/trace_classify.h classify/in_out_acl.h classify/policer_classify.h classify/flow_classify.h @@ -387,6 +382,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 @@ -395,8 +391,8 @@ 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/ip4_reassembly.c + ip/reass/ip4_full_reass.c + ip/reass/ip4_sv_reass.c ip/ip6_format.c ip/ip6_forward.c ip/ip6_ll_table.c @@ -404,21 +400,40 @@ 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/ip6_reassembly.c - ip/rd_cp.c - ip/ip_neighbor.c + ip/reass/ip6_full_reass.c + ip/reass/ip6_sv_reass.c ip/ip_api.c ip/ip_checksum.c + ip/ip_container_proxy.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_punt_drop.c + ip/reass/ip4_full_reass.c + ip/ip6_hop_by_hop.c + ip/reass/ip6_full_reass.c + ip/reass/ip4_sv_reass.c + ip/ip6_hop_by_hop.c + ip/reass/ip6_full_reass.c + ip/reass/ip6_sv_reass.c + ip/ip6_input.c + ip/ip6_punt_drop.c + ip/punt_node.c + ip/ip_in_out_acl.c ) list(APPEND VNET_HEADERS @@ -430,17 +445,23 @@ list(APPEND VNET_HEADERS ip/ip4_error.h ip/ip4.h ip/ip4_mtrie.h + ip/ip4_inlines.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_inlines.h ip/ip6_packet.h - ip/ip6_neighbor.h ip/ip.h + ip/ip_container_proxy.h + ip/ip_flow_hash.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 @@ -450,7 +471,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES ip/ip.api - ip/rd_cp.api ip/punt.api ) @@ -461,15 +481,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 ) ############################################################################## @@ -494,6 +524,26 @@ list(APPEND VNET_SOURCES list(APPEND VNET_API_FILES bfd/bfd.api) +############################################################################## +# Crypto +############################################################################## + +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 ############################################################################## @@ -501,18 +551,22 @@ 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 ipsec/ipsec_spd_policy.c + ipsec/ipsec_tun.c + ipsec/ipsec_tun_in.c ipsec/esp_format.c ipsec/esp_encrypt.c ipsec/esp_decrypt.c ipsec/ah_decrypt.c ipsec/ah_encrypt.c ipsec/ipsec_api.c + ipsec/ipsec_types_api.c ) list(APPEND VNET_MULTIARCH_SOURCES @@ -520,11 +574,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 @@ -536,7 +592,9 @@ 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 ) @@ -565,7 +623,12 @@ list(APPEND VNET_SOURCES tcp/tcp_output.c tcp/tcp_input.c tcp/tcp_newreno.c + tcp/tcp_bt.c + tcp/tcp_cli.c tcp/tcp_cubic.c + tcp/tcp_debug.c + tcp/tcp_sack.c + tcp/tcp_timer.c tcp/tcp.c ) @@ -578,7 +641,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 ) @@ -590,6 +658,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 @@ -599,41 +668,21 @@ list(APPEND VNET_SOURCES udp/udp_api.c ) +list(APPEND VNET_MULTIARCH_SOURCES + udp/udp_local.c + udp/udp_encap_node.c +) + list(APPEND VNET_HEADERS udp/udp_error.def udp/udp.h udp/udp_packet.h + udp/udp_inlines.h + udp/udp_local.h ) list(APPEND VNET_API_FILES udp/udp.api) -############################################################################## -# Layer 4 protocol: sctp -############################################################################## -list(APPEND VNET_SOURCES - sctp/sctp_api.c - sctp/sctp.c - sctp/sctp_pg.c - sctp/sctp_input.c - sctp/sctp_output.c - sctp/sctp_output_node.c - sctp/sctp_format.c -) - -list(APPEND VNET_MULTIARCH_SOURCES - sctp/sctp_output_node.c - sctp/sctp_input.c -) - -list(APPEND VNET_HEADERS - sctp/sctp_error.def - sctp/sctp_packet.h - sctp/sctp_timer.h - sctp/sctp.h -) - -list(APPEND VNET_API_FILES sctp/sctp.api) - ############################################################################## # Tunnel protocol: gre ############################################################################## @@ -677,25 +726,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 protocol: l2tpv3 +# Tunnel infra ############################################################################## list(APPEND VNET_SOURCES - l2tp/l2tp.c - l2tp/encap.c - l2tp/decap.c - l2tp/pg.c - l2tp/l2tp_api.c + tunnel/tunnel.c + tunnel/tunnel_types_api.c ) -list(APPEND VNET_HEADERS - l2tp/l2tp.h - l2tp/packet.h +list(APPEND VNET_API_FILES + tunnel/tunnel_types.api ) -list(APPEND VNET_API_FILES l2tp/l2tp.api) +list(APPEND VNET_HEADERS + tunnel/tunnel.h + tunnel/tunnel_dp.h +) ############################################################################## # Tunnel protocol: gre+mpls @@ -776,122 +826,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES vxlan-gpe/vxlan_gpe.api) -############################################################################## -# Tunnel protocol: ipsec+gre -############################################################################## -list(APPEND VNET_SOURCES - ipsec-gre/ipsec_gre.c - ipsec-gre/node.c - ipsec-gre/interface.c - ipsec-gre/ipsec_gre_api.c -) - -list(APPEND VNET_HEADERS - ipsec-gre/ipsec_gre.h - ipsec-gre/error.def -) - -list(APPEND VNET_API_FILES ipsec-gre/ipsec_gre.api) - -############################################################################## -# LISP control plane: lisp-cp -############################################################################## - -list(APPEND VNET_SOURCES - lisp-cp/lisp_types.c - lisp-cp/lisp_cp_dpo.c - lisp-cp/control.c - lisp-cp/gid_dictionary.c - lisp-cp/lisp_msg_serdes.c - lisp-cp/packets.c - lisp-cp/one_cli.c - lisp-cp/lisp_cli.c - lisp-cp/one_api.c - lisp-cp/lisp_api.c -) - -list(APPEND VNET_HEADERS - lisp-cp/lisp_types.h - lisp-cp/packets.h - lisp-cp/gid_dictionary.h - lisp-cp/lisp_cp_messages.h - lisp-cp/lisp_msg_serdes.h - lisp-cp/control.h -) - -list(APPEND VNET_API_FILES lisp-cp/lisp.api) -list(APPEND VNET_API_FILES lisp-cp/one.api) - -############################################################################## -# Tunnel protocol: lisp-gpe -############################################################################## - -list(APPEND VNET_SOURCES - lisp-gpe/lisp_gpe.c - lisp-gpe/lisp_gpe_sub_interface.c - lisp-gpe/lisp_gpe_adjacency.c - lisp-gpe/lisp_gpe_tunnel.c - lisp-gpe/lisp_gpe_fwd_entry.c - lisp-gpe/lisp_gpe_tenant.c - lisp-gpe/interface.c - lisp-gpe/decap.c - lisp-gpe/lisp_gpe_api.c -) - -list(APPEND VNET_HEADERS - lisp-gpe/lisp_gpe.h - lisp-gpe/lisp_gpe_fwd_entry.h - lisp-gpe/lisp_gpe_tenant.h - lisp-gpe/lisp_gpe_packet.h - lisp-gpe/lisp_gpe_error.def -) - -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_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 ############################################################################## @@ -909,7 +843,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 @@ -925,7 +862,9 @@ 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 +) ############################################################################## # IPFIX / netflow v10 @@ -943,6 +882,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 ############################################################################## @@ -964,6 +924,10 @@ list(APPEND VNET_SOURCES lawful-intercept/node.c ) +list(APPEND VNET_MULTIARCH_SOURCES + lawful-intercept/node.c +) + list(APPEND VNET_HEADERS lawful-intercept/lawful_intercept.h ) @@ -988,24 +952,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES span/span.api) -############################################################################## -# DNS proxy, API -############################################################################## -list(APPEND VNET_SOURCES - dns/dns.c - dns/dns.h - dns/dns_packet.h - dns/reply_node.c - dns/request_node.c - dns/resolver_process.c -) - -list(APPEND VNET_HEADERS - dns/dns.h -) - -list(APPEND VNET_API_FILES dns/dns.api) - ############################################################################## # Packet generator ############################################################################## @@ -1032,35 +978,47 @@ 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_process.c + devices/virtio/virtio_types_api.c ) list(APPEND VNET_HEADERS devices/virtio/pci.h devices/virtio/virtio.h + devices/virtio/virtio_buffering.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 ) list(APPEND VNET_API_FILES devices/virtio/vhost_user.api devices/virtio/virtio.api + devices/virtio/virtio_types.api ) ############################################################################## @@ -1077,7 +1035,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) @@ -1100,6 +1060,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 @@ -1137,22 +1098,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES session/session.api) -############################################################################## -# session layer applications -############################################################################## - -list(APPEND VNET_SOURCES - session-apps/echo_client.c - session-apps/echo_server.c - session-apps/http_server.c - session-apps/proxy.c -) - -list(APPEND VNET_HEADERS - session-apps/echo_client.h - session-apps/proxy.h -) - ############################################################################## # TLS protocol ############################################################################## @@ -1178,29 +1123,15 @@ list(APPEND VNET_SOURCES devices/af_packet/af_packet_api.c ) -list(APPEND VNET_HEADERS - devices/af_packet/af_packet.h -) - -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_MULTIARCH_SOURCES + devices/af_packet/device.c ) list(APPEND VNET_HEADERS - devices/netmap/netmap.h + devices/af_packet/af_packet.h ) -list(APPEND VNET_API_FILES devices/netmap/netmap.api) +list(APPEND VNET_API_FILES devices/af_packet/af_packet.api) ############################################################################## # Driver feature graph arc support @@ -1249,20 +1180,23 @@ 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_sas.c + fib/fib_source.c fib/fib_urpf_list.c fib/fib_attached_export.c fib/fib_api.c @@ -1280,8 +1214,12 @@ list(APPEND VNET_HEADERS fib/fib_node_list.h fib/fib_entry.h fib/fib_entry_delegate.h + fib/fib_sas.h + fib/fib_source.h ) +list(APPEND VNET_API_FILES fib/fib_types.api) + ############################################################################## # ADJ ############################################################################## @@ -1290,6 +1228,7 @@ list(APPEND VNET_SOURCES adj/adj_nbr.c adj/adj_glean.c adj/adj_midchain.c + adj/adj_midchain_delegate.c adj/adj_mcast.c adj/adj_l2.c adj/adj_nsh.c @@ -1302,6 +1241,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 @@ -1310,6 +1250,7 @@ list(APPEND VNET_HEADERS adj/adj_glean.h adj/adj_nsh.h adj/adj_nbr.h + adj/adj_midchain.h adj/rewrite.h ) @@ -1335,6 +1276,15 @@ list(APPEND VNET_SOURCES dpo/mpls_label_dpo.c dpo/l3_proxy_dpo.c dpo/dvr_dpo.c + dpo/pw_cw.c +) + +list(APPEND VNET_MULTIARCH_SOURCES + dpo/lookup_dpo.h + dpo/mpls_disposition.c + dpo/dvr_dpo.c + dpo/mpls_label_dpo.c + dpo/interface_rx_dpo.c ) list(APPEND VNET_HEADERS @@ -1357,6 +1307,7 @@ list(APPEND VNET_SOURCES mfib/mfib_forward.c mfib/ip4_mfib.c mfib/ip6_mfib.c + mfib/mfib_api.c mfib/mfib_types.c mfib/mfib_signal.c mfib/mfib_itf.c @@ -1369,12 +1320,18 @@ list(APPEND VNET_SOURCES mfib/mfib_table.c ) +list(APPEND VNET_MULTIARCH_SOURCES + mfib/mfib_forward.c +) + list(APPEND VNET_HEADERS mfib/ip4_mfib.h mfib/mfib_types.h mfib/mfib_table.h ) +list(APPEND VNET_API_FILES mfib/mfib_types.api) + ############################################################################## # Utilities ############################################################################## @@ -1400,6 +1357,8 @@ list(APPEND VNET_SOURCES qos/qos_egress_map.c qos/qos_record.c qos/qos_record_node.c + qos/qos_store.c + qos/qos_store_node.c qos/qos_mark.c qos/qos_mark_node.c ) @@ -1469,6 +1428,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 ############################################################################## @@ -1479,27 +1489,23 @@ add_vpp_library(vnet INSTALL_HEADERS ${VNET_HEADERS} API_FILES ${VNET_API_FILES} LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES} - DEPENDS api_headers + DEPENDS vpp_version_h api_headers ) ############################################################################## -# Session echo apps +# vpp api test client library ############################################################################## -option(VPP_BUILD_SESSION_ECHO_APPS "Build session echo apps." ON) -if(VPP_BUILD_SESSION_ECHO_APPS) - add_vpp_executable(tcp_echo - SOURCES ../tests/vnet/session/tcp_echo.c - LINK_LIBRARIES vlibmemoryclient svm vppinfra pthread m rt - DEPENDS api_headers - NO_INSTALL - ) - add_vpp_executable(udp_echo - SOURCES ../tests/vnet/session/udp_echo.c - LINK_LIBRARIES vlibmemoryclient svm vppinfra pthread m rt - DEPENDS api_headers - NO_INSTALL - ) -endif(VPP_BUILD_SESSION_ECHO_APPS) +add_vpp_library (vatclient + SOURCES ip/ip_types_api.c + DEPENDS api_headers +) + +############################################################################## +# VAT2 plugins +############################################################################## +add_vpp_test_library(vnet + ${VNET_API_FILES} +) ##############################################################################