misc.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ interface_output.c
+ interface_stats.c
+ handoff.c
+)
+
list(APPEND VNET_HEADERS
api_errno.h
buffer.h
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
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
policer/policer_api.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ policer/node_funcs.c
+)
+
list(APPEND VNET_HEADERS
policer/police.h
policer/policer.h
cop/cop_api.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ cop/node1.c
+ cop/ip4_whitelist.c
+ cop/ip6_whitelist.c
+)
+
list(APPEND VNET_HEADERS
cop/cop.h
)
# Layer 2 protocol: Ethernet
##############################################################################
list(APPEND VNET_SOURCES
+ ethernet/arp_packet.c
ethernet/ethernet_types_api.c
ethernet/format.c
ethernet/init.c
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
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
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
)
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
vxlan/vxlan_api.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ vxlan/encap.c
+)
+
list(APPEND VNET_HEADERS
vxlan/vxlan.h
vxlan/vxlan_packet.h
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
##############################################################################
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
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
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
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
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
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
list(APPEND VNET_API_FILES
ip/ip.api
- ip/rd_cp.api
ip/punt.api
)
)
##############################################################################
-# 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
)
##############################################################################
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
##############################################################################
ipsec/ipsec_cli.c
ipsec/ipsec_format.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
ipsec/esp_decrypt.c
ipsec/ah_decrypt.c
ipsec/ah_encrypt.c
- ipsec/ipsec_if_in.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
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
)
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
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
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_format.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
##############################################################################
ipip/sixrd.c
ipip/ipip_api.c
ipip/ipip_cli.c
+ ipip/ipip_types_api.c
+)
+
+list(APPEND VNET_MULTIARCH_SOURCES
+ ipip/node.c
)
list(APPEND VNET_HEADERS
ipip/ipip.h
+ ipip/ipip_types_api.h
)
-list(APPEND VNET_API_FILES ipip/ipip.api)
+list(APPEND VNET_API_FILES
+ ipip/ipip_types.api
+ ipip/ipip.api
+)
##############################################################################
# Tunnel protocol: l2tpv3
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
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-gpe/vxlan_gpe_api.c
)
+list (APPEND VNET_MULTIARCH_SOURCES
+ vxlan-gpe/decap.c
+)
+
list(APPEND VNET_HEADERS
vxlan-gpe/vxlan_gpe.h
vxlan-gpe/vxlan_gpe_packet.h
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
##############################################################################
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
##############################################################################
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
##############################################################################
lawful-intercept/node.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ lawful-intercept/node.c
+)
+
list(APPEND VNET_HEADERS
lawful-intercept/lawful_intercept.h
)
span/node.c
)
-list(APPEND VNET_HEADERS
- span/span.h
-)
-
-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_MULTIARCH_SOURCES
+ span/node.c
)
list(APPEND VNET_HEADERS
- dns/dns.h
+ span/span.h
)
-list(APPEND VNET_API_FILES dns/dns.api)
+list(APPEND VNET_API_FILES span/span.api)
##############################################################################
# Packet generator
##############################################################################
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
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
)
##############################################################################
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
##############################################################################
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
)
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
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
##############################################################################
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
adj/adj_glean.h
adj/adj_nsh.h
adj/adj_nbr.h
+ adj/adj_midchain.h
adj/rewrite.h
)
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
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
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
##############################################################################
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
)
bier/bier_bift_table.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ bier/bier_disp_dispatch_node.c
+ bier/bier_disp_lookup_node.c
+ bier/bier_imp_node.c
+)
+
list(APPEND VNET_HEADERS
bier/bier_types.h
bier/bier_entry.h
list(APPEND VNET_API_FILES syslog/syslog.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
##############################################################################
)
##############################################################################
-# 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(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)
-
-##############################################################################