X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2FCMakeLists.txt;h=eb96699193c14986a273a50fa63810b7205e01bc;hb=e5b94dded;hp=9e3e5d12ddda09c380770b979b5b7398acb5ac55;hpb=6266877b0126045bbd309bf33dcf351db07e37d9;p=vpp.git diff --git a/src/vnet/CMakeLists.txt b/src/vnet/CMakeLists.txt index 9e3e5d12ddd..eb96699193c 100644 --- a/src/vnet/CMakeLists.txt +++ b/src/vnet/CMakeLists.txt @@ -42,6 +42,7 @@ list(APPEND VNET_SOURCES list(APPEND VNET_MULTIARCH_SOURCES interface_output.c interface_stats.c + handoff.c ) list(APPEND VNET_HEADERS @@ -57,6 +58,7 @@ list(APPEND VNET_HEADERS interface_funcs.h ip/ip4_to_ip6.h ip/ip6_to_ip4.h + ip/ip_types_api.h l3_types.h plugin/plugin.h pipeline.h @@ -67,7 +69,11 @@ list(APPEND VNET_HEADERS util/refcount.h ) -list(APPEND VNET_API_FILES interface.api) +list(APPEND VNET_API_FILES + interface.api + interface_types.api + ip/ip_types.api +) ############################################################################## # Policer infra @@ -79,6 +85,10 @@ 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 @@ -118,6 +128,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 +142,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 +155,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 +168,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 @@ -173,10 +192,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.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 @@ -356,6 +387,7 @@ list(APPEND VNET_API_FILES lldp/lldp.api) ############################################################################## 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 +397,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 +425,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 @@ -396,7 +435,8 @@ list(APPEND VNET_SOURCES 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 +444,38 @@ 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_frag.c ip/ip.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 +) + +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 + 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 @@ -431,16 +488,16 @@ 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_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 +507,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES ip/ip.api - ip/rd_cp.api ip/punt.api ) @@ -461,15 +517,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 +560,20 @@ 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 +) + +list(APPEND VNET_HEADERS + crypto/crypto.h +) + ############################################################################## # Layer 3 protocol: IPSec ############################################################################## @@ -501,18 +581,21 @@ 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_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 +603,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 +621,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 ) @@ -566,9 +653,17 @@ list(APPEND VNET_SOURCES tcp/tcp_input.c tcp/tcp_newreno.c tcp/tcp_cubic.c + tcp/tcp_bt.c + tcp/tcp_debug.c tcp/tcp.c ) +list(APPEND VNET_MULTIARCH_SOURCES + tcp/tcp_input.c + tcp/tcp_output.c + tcp/tcp_syn_filter4.c +) + list(APPEND VNET_HEADERS tcp/tcp_packet.h tcp/tcp_timer.h @@ -593,6 +688,11 @@ 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 @@ -601,33 +701,6 @@ list(APPEND VNET_HEADERS 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 ############################################################################## @@ -671,7 +744,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 @@ -684,6 +776,11 @@ list(APPEND VNET_SOURCES 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 @@ -770,23 +867,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 ############################################################################## @@ -842,50 +922,6 @@ list(APPEND VNET_HEADERS 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 ############################################################################## @@ -937,6 +973,24 @@ 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/gso.h +) + +list(APPEND VNET_API_FILES + gso/gso.api +) + ############################################################################## # IPFIX classify code ############################################################################## @@ -958,6 +1012,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 ) @@ -982,24 +1040,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 ############################################################################## @@ -1026,22 +1066,25 @@ 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_types_api.c ) list(APPEND VNET_HEADERS devices/virtio/pci.h devices/virtio/virtio.h devices/virtio/vhost_user.h + devices/virtio/virtio_types_api.h ) list(APPEND VNET_MULTIARCH_SOURCES @@ -1050,11 +1093,13 @@ list(APPEND VNET_MULTIARCH_SOURCES 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 ) ############################################################################## @@ -1131,22 +1176,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 ############################################################################## @@ -1172,6 +1201,11 @@ list(APPEND VNET_SOURCES devices/af_packet/af_packet_api.c ) +list(APPEND VNET_MULTIARCH_SOURCES + devices/netmap/device.c + devices/af_packet/device.c +) + list(APPEND VNET_HEADERS devices/af_packet/af_packet.h ) @@ -1243,20 +1277,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 @@ -1274,8 +1310,11 @@ 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) + ############################################################################## # ADJ ############################################################################## @@ -1284,6 +1323,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 @@ -1304,6 +1344,7 @@ list(APPEND VNET_HEADERS adj/adj_glean.h adj/adj_nsh.h adj/adj_nbr.h + adj/adj_midchain.h adj/rewrite.h ) @@ -1329,6 +1370,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 @@ -1351,6 +1401,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 @@ -1363,12 +1414,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 ############################################################################## @@ -1394,6 +1451,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 ) @@ -1463,6 +1522,71 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES syslog/syslog.api) +############################################################################## +# PCI +############################################################################## + +list (APPEND VNET_SOURCES + pci/pci_types_api.c +) + +list(APPEND VNET_HEADERS + pci/pci_types_api.h +) + +list(APPEND VNET_API_FILES pci/pci_types.api) + +############################################################################## +# NHRP +############################################################################## + +list (APPEND VNET_SOURCES + nhrp/nhrp_api.c + nhrp/nhrp_cli.c + nhrp/nhrp.c +) + +list(APPEND VNET_HEADERS + nhrp/nhrp.h +) + +list(APPEND VNET_API_FILES nhrp/nhrp.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 ############################################################################## @@ -1473,27 +1597,16 @@ 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 +) ##############################################################################