X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2FCMakeLists.txt;h=a8b13b62548ce59c259a82143894111c3428fe9e;hb=162ff5e41;hp=fd490d6167ef5446cb0bd18ba9fcd96fa54a5ccb;hpb=379aac395a2cc78847d8f14264a22a3ee99fc1c2;p=vpp.git diff --git a/src/vnet/CMakeLists.txt b/src/vnet/CMakeLists.txt index fd490d6167e..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 ############################################################################## @@ -29,12 +28,17 @@ 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 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 ) @@ -53,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 @@ -64,19 +69,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 +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 ############################################################################## @@ -173,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 @@ -193,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 @@ -318,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 ############################################################################## @@ -358,24 +333,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 +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 @@ -455,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 @@ -470,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 @@ -481,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 @@ -565,6 +532,7 @@ list(APPEND VNET_SOURCES crypto/crypto.c crypto/format.c crypto/node.c + crypto/crypto_api.c ) list(APPEND VNET_HEADERS @@ -573,6 +541,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 +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 ) @@ -693,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 ) @@ -705,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) @@ -773,29 +747,6 @@ list(APPEND VNET_HEADERS tunnel/tunnel_dp.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 ############################################################################## @@ -828,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 ############################################################################## @@ -875,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 ############################################################################## @@ -971,7 +840,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES srmpls/sr_mpls.api - srv6/sr_types.api ) ############################################################################## @@ -990,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 ############################################################################## @@ -1099,14 +981,18 @@ 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 + devices/virtio/vhost_std.h devices/virtio/vhost_user.h devices/virtio/virtio_types_api.h ) @@ -1139,7 +1025,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) @@ -1272,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 @@ -1297,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 @@ -1308,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 @@ -1315,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 @@ -1328,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 @@ -1341,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 @@ -1440,7 +1340,6 @@ list(APPEND VNET_SOURCES util/radix.c util/refcount.c util/throttle.c - util/trajectory.c ) list(APPEND VNET_HEADERS @@ -1565,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 @@ -1588,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 ) @@ -1601,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} +) + ##############################################################################