X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2FCMakeLists.txt;h=5236d7e67b57eaecc384b8ae2ef009121d9a5d54;hb=38c619115;hp=a7f97bea4cac42ef87e63c02d2be35ed64e5623f;hpb=f382b06febf2b26c37fd384824a1915e16517a2b;p=vpp.git diff --git a/src/vnet/CMakeLists.txt b/src/vnet/CMakeLists.txt index a7f97bea4ca..5236d7e67b5 100644 --- a/src/vnet/CMakeLists.txt +++ b/src/vnet/CMakeLists.txt @@ -11,14 +11,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -add_definitions (-DWITH_LIBSSL=1) -include_directories(${OPENSSL_INCLUDE_DIR}) - unset(VNET_SOURCES) unset(VNET_HEADERS) unset(VNET_API_FILES) unset(VNET_MULTIARCH_SOURCES) +option(VPP_IP_FIB_MTRIE_16 "IP FIB's MTRIE Stride is 16-8-8 (if not set it's 8-8-8-8)" ON) + ############################################################################## # Generic stuff ############################################################################## @@ -27,14 +26,35 @@ list(APPEND VNET_SOURCES config.c devices/devices.c devices/netlink.c + dev/api.c + dev/cli.c + dev/config.c + dev/counters.c + dev/dev.c + dev/error.c + dev/format.c + dev/handlers.c + dev/pci.c + dev/port.c + dev/process.c + dev/queue.c + dev/runtime.c + error.c flow/flow.c flow/flow_cli.c + flow/flow_api.c handoff.c interface.c interface_api.c interface_cli.c interface_format.c interface_output.c + interface/caps.c + interface/rx_queue.c + interface/tx_queue.c + interface/runtime.c + interface/monitor.c + interface/stats.c interface_stats.c misc.c ) @@ -47,13 +67,16 @@ list(APPEND VNET_MULTIARCH_SOURCES list(APPEND VNET_HEADERS api_errno.h + error.h buffer.h config.h devices/devices.h devices/netlink.h + dev/dev.h flow/flow.h global_funcs.h - handoff.h + interface/rx_queue_funcs.h + interface/tx_queue_funcs.h interface.h interface_funcs.h interface_output.h @@ -64,19 +87,21 @@ list(APPEND VNET_HEADERS plugin/plugin.h pipeline.h vnet.h - vnet_all_api_h.h - vnet_msg_enum.h util/radix.h util/refcount.h format_fns.h ip/ip_format_fns.h + ip/ip_sas.h ethernet/ethernet_format_fns.h + ethernet/ethernet_types_api.h ) list(APPEND VNET_API_FILES interface.api interface_types.api ip/ip_types.api + flow/flow_types.api + flow/flow.api ) ############################################################################## @@ -104,16 +129,6 @@ list(APPEND VNET_API_FILES policer/policer_types.api ) -############################################################################## -# Binary API compatibility until vpp 20.12, see the ADL plugin... -############################################################################## - -list(APPEND VNET_SOURCES - cop/cop_api.c -) - -list(APPEND VNET_API_FILES cop/cop.api) - ############################################################################## # Layer 2 protocols go here ############################################################################## @@ -173,6 +188,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 @@ -193,7 +209,7 @@ list(APPEND VNET_MULTIARCH_SOURCES l2/l2_patch.c l2/l2_in_out_feat_arc.c l2/l2_input_classify.c - l2/l2_input.c + l2/l2_input_node.c l2/l2_output_classify.c l2/l2_flood.c l2/l2_uu_fwd.c @@ -294,53 +310,6 @@ list(APPEND VNET_HEADERS snap/snap.h ) -############################################################################## -# Layer 2 / vxlan -############################################################################## -list(APPEND VNET_SOURCES - vxlan/vxlan.c - vxlan/encap.c - vxlan/decap.c - vxlan/vxlan_api.c -) - -list(APPEND VNET_MULTIARCH_SOURCES - vxlan/encap.c -) - -list(APPEND VNET_HEADERS - vxlan/vxlan.h - vxlan/vxlan_packet.h - vxlan/vxlan_error.def -) - -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 ############################################################################## @@ -358,24 +327,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" ############################################################################## @@ -443,11 +394,14 @@ list(APPEND VNET_SOURCES 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_path_mtu.c + ip/ip_path_mtu_node.c ip/ip_punt_drop.c ip/ip_types.c ip/lookup.c @@ -455,6 +409,7 @@ list(APPEND VNET_SOURCES ip/punt.c ip/punt_node.c ip/vtep.c + ip/ip_sas.c ) list(APPEND VNET_MULTIARCH_SOURCES @@ -470,6 +425,7 @@ list(APPEND VNET_MULTIARCH_SOURCES ip/ip6_punt_drop.c ip/punt_node.c ip/ip_in_out_acl.c + ip/ip_path_mtu_node.c ) list(APPEND VNET_HEADERS @@ -478,20 +434,23 @@ list(APPEND VNET_HEADERS ip/icmp4.h ip/icmp6.h ip/igmp_packet.h - 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/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_psh_cksum.h ip/ip_source_and_port_range_check.h ip/ip_types.h ip/lookup.h @@ -499,6 +458,8 @@ list(APPEND VNET_HEADERS ip/protocols.def ip/punt_error.def ip/punt.h + ip/reass/ip4_sv_reass.h + ip/reass/ip6_sv_reass.h ) list(APPEND VNET_API_FILES @@ -565,6 +526,7 @@ list(APPEND VNET_SOURCES crypto/crypto.c crypto/format.c crypto/node.c + crypto/crypto_api.c ) list(APPEND VNET_HEADERS @@ -573,6 +535,8 @@ list(APPEND VNET_HEADERS list(APPEND VNET_MULTIARCH_SOURCES crypto/node.c) +list(APPEND VNET_API_FILES crypto/crypto.api) + ############################################################################## # Layer 3 protocol: IPSec ############################################################################## @@ -657,6 +621,7 @@ list(APPEND VNET_SOURCES tcp/tcp_cubic.c tcp/tcp_debug.c tcp/tcp_sack.c + tcp/tcp_timer.c tcp/tcp.c ) @@ -693,7 +658,9 @@ list(APPEND VNET_SOURCES udp/udp_pg.c udp/udp_encap_node.c udp/udp_encap.c + udp/udp_decap.c udp/udp_api.c + udp/udp_output.c ) list(APPEND VNET_MULTIARCH_SOURCES @@ -704,7 +671,10 @@ list(APPEND VNET_MULTIARCH_SOURCES list(APPEND VNET_HEADERS udp/udp_error.def udp/udp.h + udp/udp_encap.h udp/udp_packet.h + udp/udp_inlines.h + udp/udp_local.h ) list(APPEND VNET_API_FILES udp/udp.api) @@ -712,27 +682,10 @@ list(APPEND VNET_API_FILES udp/udp.api) ############################################################################## # Tunnel protocol: gre ############################################################################## -list(APPEND VNET_SOURCES - gre/gre.c - gre/node.c - gre/interface.c - gre/pg.c - gre/gre_api.c -) - -list(APPEND VNET_MULTIARCH_SOURCES - gre/node.c - gre/gre.c -) - list(APPEND VNET_HEADERS - gre/gre.h gre/packet.h - gre/error.def ) -list(APPEND VNET_API_FILES gre/gre.api) - ############################################################################## # Tunnel protocol: ipip ############################################################################## @@ -771,31 +724,9 @@ list(APPEND VNET_API_FILES list(APPEND VNET_HEADERS tunnel/tunnel.h tunnel/tunnel_dp.h + tunnel/tunnel_types_api.h ) -############################################################################## -# Tunnel protocol: l2tpv3 -############################################################################## -list(APPEND VNET_SOURCES - l2tp/l2tp.c - l2tp/encap.c - l2tp/decap.c - l2tp/pg.c - l2tp/l2tp_api.c -) - -list(APPEND VNET_MULTIARCH_SOURCES - l2tp/encap.c - l2tp/decap.c -) - -list(APPEND VNET_HEADERS - l2tp/l2tp.h - l2tp/packet.h -) - -list(APPEND VNET_API_FILES l2tp/l2tp.api) - ############################################################################## # Tunnel protocol: gre+mpls ############################################################################## @@ -820,38 +751,14 @@ list(APPEND VNET_MULTIARCH_SOURCES list(APPEND VNET_HEADERS mpls/mpls.h + mpls/mpls_lookup.h mpls/mpls_types.h mpls/mpls_tunnel.h mpls/packet.h - mpls/error.def ) list(APPEND VNET_API_FILES mpls/mpls.api) -############################################################################## -# Tunnel protocol: vxlan-gbp -############################################################################## -list(APPEND VNET_SOURCES - vxlan-gbp/decap.c - vxlan-gbp/encap.c - vxlan-gbp/vxlan_gbp_api.c - vxlan-gbp/vxlan_gbp.c - vxlan-gbp/vxlan_gbp_packet.c -) - -list (APPEND VNET_MULTIARCH_SOURCES - vxlan-gbp/decap.c - vxlan-gbp/encap.c -) - -list(APPEND VNET_HEADERS - vxlan-gbp/vxlan_gbp.h - vxlan-gbp/vxlan_gbp_packet.h - vxlan-gbp/vxlan_gbp_error.def -) - -list(APPEND VNET_API_FILES vxlan-gbp/vxlan_gbp.api) - ############################################################################## # Tunnel protocol: vxlan-gpe ############################################################################## @@ -875,64 +782,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES vxlan-gpe/vxlan_gpe.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 - lisp-cp/lisp_types_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 - 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) - -############################################################################## -# 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) - ############################################################################## # ipv6 segment routing ############################################################################## @@ -943,16 +792,21 @@ list(APPEND VNET_SOURCES srv6/sr_policy_rewrite.c srv6/sr_steering.c srv6/sr_api.c + srv6/sr_pt.c + srv6/sr_pt_node.c + srv6/sr_pt_api.c ) list(APPEND VNET_HEADERS srv6/sr_packet.h srv6/sr.h + srv6/sr_pt.h ) list(APPEND VNET_API_FILES srv6/sr.api srv6/sr_types.api + srv6/sr_pt.api ) ############################################################################## @@ -971,7 +825,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES srmpls/sr_mpls.api - srv6/sr_types.api ) ############################################################################## @@ -990,6 +843,21 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES ipfix-export/ipfix_export.api) +############################################################################## +# HASH +############################################################################## +list(APPEND VNET_SOURCES + hash/hash.c + hash/cli.c + hash/crc32_5tuple.c + hash/handoff_eth.c + hash/hash_eth.c +) + +list(APPEND VNET_HEADERS + hash/hash.h +) + ############################################################################## # GSO ############################################################################## @@ -1091,32 +959,31 @@ list(APPEND VNET_SOURCES 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/virtio_pci_legacy.c + devices/virtio/virtio_pci_modern.c + devices/virtio/virtio_pre_input.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_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/virtio_types_api.h ) list(APPEND VNET_MULTIARCH_SOURCES - devices/virtio/vhost_user_input.c - devices/virtio/vhost_user_output.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 ) @@ -1135,7 +1002,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) @@ -1163,6 +1032,7 @@ list(APPEND VNET_SOURCES session/session_rules_table.c session/session_lookup.c session/session_node.c + session/session_input.c session/transport.c session/application.c session/application_worker.c @@ -1209,27 +1079,6 @@ list(APPEND VNET_HEADERS tls/tls_test.h ) -############################################################################## -# Linux packet interface -############################################################################## - -list(APPEND VNET_SOURCES - devices/af_packet/af_packet.c - devices/af_packet/device.c - devices/af_packet/node.c - devices/af_packet/cli.c - devices/af_packet/af_packet_api.c -) - -list(APPEND VNET_MULTIARCH_SOURCES - devices/af_packet/device.c -) - -list(APPEND VNET_HEADERS - devices/af_packet/af_packet.h -) - -list(APPEND VNET_API_FILES devices/af_packet/af_packet.api) ############################################################################## # Driver feature graph arc support @@ -1268,7 +1117,10 @@ list(APPEND VNET_HEADERS list(APPEND VNET_SOURCES fib/fib.c + fib/ip4_fib_hash.c fib/ip4_fib.c + fib/ip4_fib_16.c + fib/ip4_fib_8.c fib/ip6_fib.c fib/mpls_fib.c fib/fib_table.c @@ -1293,6 +1145,7 @@ list(APPEND VNET_SOURCES 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 @@ -1303,7 +1156,11 @@ list(APPEND VNET_SOURCES list(APPEND VNET_HEADERS fib/fib.h fib/fib_api.h + fib/fib_entry_track.h fib/ip4_fib.h + fib/ip4_fib_8.h + fib/ip4_fib_16.h + fib/ip4_fib_hash.h fib/ip6_fib.h fib/fib_types.h fib/fib_table.h @@ -1311,10 +1168,16 @@ list(APPEND VNET_HEADERS fib/fib_node_list.h fib/fib_entry.h fib/fib_entry_delegate.h + fib/fib_path.h + fib/fib_path_list.h + fib/fib_sas.h fib/fib_source.h ) -list(APPEND VNET_API_FILES fib/fib_types.api) +list(APPEND VNET_API_FILES + fib/fib_types.api + fib/fib.api +) ############################################################################## # ADJ @@ -1324,6 +1187,7 @@ list(APPEND VNET_SOURCES adj/adj_nbr.c adj/adj_glean.c adj/adj_midchain.c + adj/adj_midchain_node.c adj/adj_midchain_delegate.c adj/adj_mcast.c adj/adj_l2.c @@ -1337,7 +1201,7 @@ list(APPEND VNET_SOURCES list(APPEND VNET_MULTIARCH_SOURCES adj/adj_nsh.c adj/adj_l2.c - adj/adj_midchain.c + adj/adj_midchain_node.c ) list(APPEND VNET_HEADERS @@ -1385,6 +1249,7 @@ list(APPEND VNET_MULTIARCH_SOURCES list(APPEND VNET_HEADERS dpo/load_balance.h + dpo/load_balance_map.h dpo/drop_dpo.h dpo/lookup_dpo.h dpo/punt_dpo.h @@ -1436,7 +1301,6 @@ list(APPEND VNET_SOURCES util/radix.c util/refcount.c util/throttle.c - util/trajectory.c ) list(APPEND VNET_HEADERS @@ -1499,10 +1363,13 @@ list(APPEND VNET_MULTIARCH_SOURCES ) list(APPEND VNET_HEADERS - bier/bier_types.h + bier/bier_bit_string.h bier/bier_entry.h + bier/bier_fwd.h + bier/bier_hdr_inlines.h bier/bier_update.h bier/bier_table.h + bier/bier_types.h ) list(APPEND VNET_API_FILES bier/bier.api) @@ -1561,6 +1428,7 @@ list (APPEND VNET_SOURCES ip6-nd/ip6_nd.c ip6-nd/ip6_nd_api.c ip6-nd/ip6_nd_proxy.c + ip6-nd/ip6_nd_mirror_proxy.c ip6-nd/ip6_ra.c ip6-nd/rd_cp.c ip6-nd/rd_cp_api.c @@ -1584,7 +1452,7 @@ add_vpp_library(vnet MULTIARCH_SOURCES ${VNET_MULTIARCH_SOURCES} INSTALL_HEADERS ${VNET_HEADERS} API_FILES ${VNET_API_FILES} - LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES} + LINK_LIBRARIES vppinfra svm vlib DEPENDS vpp_version_h api_headers ) @@ -1597,4 +1465,22 @@ add_vpp_library (vatclient DEPENDS api_headers ) +add_vat_test_library(vnet + interface_test.c + ip/ip_test.c + arp/arp_test.c + ip6-nd/ip6_nd_test.c + srmpls/sr_mpls_test.c + session/session_test.c + l2/l2_test.c + ipsec/ipsec_test.c +) + +############################################################################## +# VAT2 plugins +############################################################################## +add_vpp_test_library(vnet + ${VNET_API_FILES} +) + ##############################################################################