X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2FCMakeLists.txt;h=eb96699193c14986a273a50fa63810b7205e01bc;hb=e5b94dded;hp=1c85daf84bffec89dace9b34229fd0670dbaf3f2;hpb=922077505b43f9560550653f530cf93acc81044d;p=vpp.git diff --git a/src/vnet/CMakeLists.txt b/src/vnet/CMakeLists.txt index 1c85daf84bf..eb96699193c 100644 --- a/src/vnet/CMakeLists.txt +++ b/src/vnet/CMakeLists.txt @@ -71,6 +71,7 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES interface.api + interface_types.api ip/ip_types.api ) @@ -127,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 @@ -153,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 @@ -163,6 +168,7 @@ 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 @@ -381,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 @@ -397,6 +404,7 @@ list(APPEND VNET_MULTIARCH_SOURCES 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 @@ -417,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 @@ -426,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 @@ -434,11 +444,10 @@ 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 @@ -446,8 +455,8 @@ list(APPEND VNET_SOURCES 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 @@ -456,9 +465,13 @@ list(APPEND VNET_SOURCES list(APPEND VNET_MULTIARCH_SOURCES ip/ip4_source_check.c ip/ip4_punt_drop.c - ip/ip4_reassembly.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/ip6_reassembly.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 @@ -475,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 @@ -494,7 +507,6 @@ list(APPEND VNET_HEADERS list(APPEND VNET_API_FILES ip/ip.api - ip/rd_cp.api ip/punt.api ) @@ -505,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 ) ############################################################################## @@ -559,19 +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 @@ -579,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 @@ -595,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 ) @@ -625,6 +653,8 @@ 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 ) @@ -671,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 ############################################################################## @@ -741,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 @@ -845,28 +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_MULTIARCH_SOURCES - ipsec-gre/node.c - ipsec-gre/ipsec_gre.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 ############################################################################## @@ -922,54 +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_MULTIARCH_SOURCES - dhcp/dhcp_client_detect.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 ############################################################################## @@ -1021,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 ############################################################################## @@ -1070,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 ############################################################################## @@ -1114,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 @@ -1144,6 +1099,7 @@ list(APPEND VNET_MULTIARCH_SOURCES list(APPEND VNET_API_FILES devices/virtio/vhost_user.api devices/virtio/virtio.api + devices/virtio/virtio_types.api ) ############################################################################## @@ -1220,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 ############################################################################## @@ -1337,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 @@ -1368,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 ############################################################################## @@ -1399,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 ) @@ -1424,6 +1370,7 @@ 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 @@ -1454,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 @@ -1476,6 +1424,8 @@ list(APPEND VNET_HEADERS mfib/mfib_table.h ) +list(APPEND VNET_API_FILES mfib/mfib_types.api) + ############################################################################## # Utilities ############################################################################## @@ -1501,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 ) @@ -1570,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 ############################################################################## @@ -1580,33 +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 -############################################################################## - -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(quic_echo - SOURCES ../tests/vnet/session/quic_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) +# vpp api test client library +############################################################################## + +add_vpp_library (vatclient + SOURCES ip/ip_types_api.c + DEPENDS api_headers +) ##############################################################################