misc.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ interface_output.c
+ interface_stats.c
+ handoff.c
+)
+
list(APPEND VNET_HEADERS
api_errno.h
buffer.h
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
)
ethernet/p2p_ethernet_api.c
)
-list(APPEND VNET_MULTIARCH_SOURCES l2/l2_output.c)
+list(APPEND VNET_MULTIARCH_SOURCES
+ ethernet/node.c
+ ethernet/p2p_ethernet_input.c
+)
list(APPEND VNET_HEADERS
ethernet/error.def
ethernet/ethernet.h
+ ethernet/mac_address.h
ethernet/packet.h
ethernet/types.def
ethernet/sfp.h
l2/l2_api.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
l2/l2_learn.c
l2/l2_output.c
l2/l2_in_out_acl.c
+ l2/l2_in_out_feat_arc.c
l2/l2_patch.c
l2/l2_rw.c
+ l2/l2_uu_fwd.c
l2/l2_vtr.c
l2/l2_xcrw.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
l2/feat_bitmap.h
l2/l2_input.h
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
bonding/node.h
)
-list(APPEND VNET_MULTIARCH_SOURCES bonding/node.c)
+list(APPEND VNET_MULTIARCH_SOURCES bonding/node.c bonding/device.c)
list(APPEND VNET_API_FILES bonding/bond.api)
##############################################################################
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/in_out_acl.h
ip/punt.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ ip/ip4_source_check.c
+ ip/ip4_punt_drop.c
+ ip/ip4_reassembly.c
+ ip/ip6_hop_by_hop.c
+ ip/ip6_reassembly.c
+ ip/ip6_input.c
+ ip/ip6_punt_drop.c
+ ip/punt.c
+ ip/ip_in_out_acl.c
+)
+
list(APPEND VNET_HEADERS
ip/format.h
ip/icmp46_packet.h
ip/punt.api
)
-list(APPEND VNET_MULTIARCH_SOURCES ip/ip4_forward.c ip/ip4_input.c)
+list(APPEND VNET_MULTIARCH_SOURCES
+ ip/ip4_forward.c
+ ip/ip6_forward.c
+ ip/ip4_input.c
+)
##############################################################################
# Layer 2/3 ARP
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_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/esp_format.c
ipsec/esp_encrypt.c
ipsec/esp_decrypt.c
ipsec/ah_decrypt.c
ipsec/ah_encrypt.c
- ipsec/ikev2.c
- ipsec/ikev2_crypto.c
- ipsec/ikev2_cli.c
- ipsec/ikev2_payload.c
- ipsec/ikev2_format.c
ipsec/ipsec_api.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ ipsec/esp_encrypt.c
+ 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
+)
+
list(APPEND VNET_API_FILES ipsec/ipsec.api)
list(APPEND VNET_SOURCES
list(APPEND VNET_HEADERS
ipsec/ipsec.h
+ ipsec/ipsec_spd.h
+ ipsec/ipsec_spd_policy.h
+ ipsec/ipsec_sa.h
+ ipsec/ipsec_if.h
ipsec/esp.h
ipsec/ah.h
- ipsec/ikev2.h
- ipsec/ikev2_priv.h
)
##############################################################################
tcp/tcp_output.c
tcp/tcp_input.c
tcp/tcp_newreno.c
+ tcp/tcp_cubic.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
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
gre/gre_api.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ gre/node.c
+ gre/gre.c
+)
+
list(APPEND VNET_HEADERS
gre/gre.h
gre/packet.h
ipip/ipip_cli.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ ipip/node.c
+)
+
list(APPEND VNET_HEADERS
ipip/ipip.h
)
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
mpls/mpls_api.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ mpls/mpls_output.c
+ mpls/mpls_input.c
+ mpls/mpls_lookup.c
+ mpls/mpls_features.c
+)
+
list(APPEND VNET_HEADERS
mpls/mpls.h
mpls/mpls_types.h
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
##############################################################################
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
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
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
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_MULTIARCH_SOURCES
+ span/node.c
+)
+
list(APPEND VNET_HEADERS
span/span.h
)
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
)
list(APPEND VNET_HEADERS
+ devices/virtio/pci.h
devices/virtio/virtio.h
devices/virtio/vhost_user.h
)
list(APPEND VNET_MULTIARCH_SOURCES
devices/virtio/vhost_user_input.c
devices/virtio/vhost_user_output.c
+ 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)
+list(APPEND VNET_API_FILES
+ devices/virtio/vhost_user.api
+ devices/virtio/virtio.api
+)
##############################################################################
# tap interface (with virtio backend)
session/session_node.c
session/transport.c
session/application.c
+ session/application_worker.c
session/session_cli.c
session/application_interface.c
+ session/application_local.c
session/application_namespace.c
session/segment_manager.c
- session/session_test.c
session/session_api.c
)
session/session.h
session/session_table.h
session/session_rules_table.h
- session/stream_session.h
+ session/session_types.h
session/session_lookup.h
session/application.h
session/transport.h
- session/transport_interface.h
+ session/transport_types.h
session/application_interface.h
+ session/application_local.h
session/application_namespace.h
session/session_debug.h
session/segment_manager.h
list(APPEND VNET_HEADERS
tls/tls.h
+ tls/tls_test.h
)
##############################################################################
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
)
list(APPEND VNET_SOURCES
unix/gdb_funcs.c
- unix/pcap.c
- unix/tap_api.c
- unix/tapcli.c
unix/tuntap.c
)
list(APPEND VNET_HEADERS
- unix/pcap.h
unix/tuntap.h
- unix/tapcli.h
)
-list(APPEND VNET_API_FILES unix/tap.api)
-
##############################################################################
# FIB
##############################################################################
list(APPEND VNET_SOURCES
fib/fib.c
- fib/fib_test.c
fib/ip4_fib.c
fib/ip6_fib.c
fib/mpls_fib.c
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_delegate.c
)
+list(APPEND VNET_MULTIARCH_SOURCES
+ adj/adj_nsh.c
+ adj/adj_l2.c
+)
+
list(APPEND VNET_HEADERS
adj/adj.h
adj/adj_types.h
dpo/dvr_dpo.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
dpo/load_balance.h
dpo/drop_dpo.h
##############################################################################
list(APPEND VNET_SOURCES
- mfib/mfib_test.c
mfib/mfib_forward.c
mfib/ip4_mfib.c
mfib/ip6_mfib.c
mfib/mfib_signal.c
mfib/mfib_itf.c
mfib/mfib_entry.c
+ mfib/mfib_entry.c
+ mfib/mfib_entry_cover.c
+ mfib/mfib_entry_delegate.c
+ mfib/mfib_entry_src.c
+ mfib/mfib_entry_src_rr.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
qos/qos_api.c
qos/qos_egress_map.c
qos/qos_record.c
+ qos/qos_record_node.c
qos/qos_mark.c
+ qos/qos_mark_node.c
+)
+
+list(APPEND VNET_MULTIARCH_SOURCES
+ qos/qos_record_node.c
+ qos/qos_mark_node.c
)
list(APPEND VNET_API_FILES qos/qos.api)
bier/bier_output.c
bier/bier_table.c
bier/bier_types.c
- bier/bier_test.c
bier/bier_api.c
bier/bier_drop.c
bier/bier_update.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 bier/bier.api)
+##############################################################################
+# SYSLOG
+##############################################################################
+
+list (APPEND VNET_SOURCES
+ syslog/syslog_api.c
+ syslog/syslog_udp.c
+ syslog/syslog.c
+)
+
+list(APPEND VNET_HEADERS
+ syslog/syslog_udp.h
+ syslog/syslog.h
+)
+
+list(APPEND VNET_API_FILES syslog/syslog.api)
+
+##############################################################################
+# VNET Library
+##############################################################################
+
add_vpp_library(vnet
SOURCES ${VNET_SOURCES}
MULTIARCH_SOURCES ${VNET_MULTIARCH_SOURCES}
LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES}
DEPENDS 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)
+
+##############################################################################