X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2FCMakeLists.txt;h=a8b13b62548ce59c259a82143894111c3428fe9e;hb=162ff5e41;hp=579302c46876d315d1724c7c2a99c1e172a81599;hpb=6810a77da36c6750938800314c15e840ee2a8c93;p=vpp.git diff --git a/src/vnet/CMakeLists.txt b/src/vnet/CMakeLists.txt index 579302c4687..a8b13b62548 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 ############################################################################## @@ -36,6 +35,10 @@ list(APPEND VNET_SOURCES interface_cli.c interface_format.c interface_output.c + interface/rx_queue.c + interface/tx_queue.c + interface/runtime.c + interface/monitor.c interface_stats.c misc.c ) @@ -54,7 +57,8 @@ list(APPEND VNET_HEADERS devices/netlink.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 @@ -65,13 +69,13 @@ 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 @@ -107,16 +111,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 ############################################################################## @@ -176,6 +170,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 @@ -196,7 +191,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 @@ -321,29 +316,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 ############################################################################## @@ -428,11 +400,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 @@ -440,6 +415,7 @@ list(APPEND VNET_SOURCES ip/punt.c ip/punt_node.c ip/vtep.c + ip/ip_sas.c ) list(APPEND VNET_MULTIARCH_SOURCES @@ -455,6 +431,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 @@ -466,17 +443,22 @@ 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/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 @@ -645,6 +627,7 @@ list(APPEND VNET_SOURCES tcp/tcp_cubic.c tcp/tcp_debug.c tcp/tcp_sack.c + tcp/tcp_timer.c tcp/tcp.c ) @@ -681,6 +664,7 @@ 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 ) @@ -693,6 +677,8 @@ 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) @@ -793,30 +779,6 @@ list(APPEND VNET_HEADERS 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 ############################################################################## @@ -840,64 +802,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 ############################################################################## @@ -936,7 +840,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES srmpls/sr_mpls.api - srv6/sr_types.api ) ############################################################################## @@ -955,6 +858,20 @@ 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 +) + +list(APPEND VNET_HEADERS + hash/hash.h +) + ############################################################################## # GSO ############################################################################## @@ -1064,12 +981,14 @@ list(APPEND VNET_SOURCES devices/virtio/virtio_api.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 @@ -1241,7 +1160,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 @@ -1266,6 +1188,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 @@ -1277,6 +1200,9 @@ list(APPEND VNET_HEADERS fib/fib.h fib/fib_api.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 @@ -1284,10 +1210,14 @@ 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) +list(APPEND VNET_API_FILES + fib/fib_types.api + fib/fib.api +) ############################################################################## # ADJ @@ -1297,6 +1227,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 @@ -1310,7 +1241,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 @@ -1409,7 +1340,6 @@ list(APPEND VNET_SOURCES util/radix.c util/refcount.c util/throttle.c - util/trajectory.c ) list(APPEND VNET_HEADERS @@ -1534,6 +1464,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 @@ -1557,7 +1488,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 ) @@ -1570,4 +1501,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} +) + ##############################################################################