1 # Copyright (c) 2018 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
6 # http://www.apache.org/licenses/LICENSE-2.0
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
14 add_definitions (-DWITH_LIBSSL=1)
15 include_directories(${OPENSSL_INCLUDE_DIR})
20 unset(VNET_MULTIARCH_SOURCES)
22 ##############################################################################
24 ##############################################################################
25 list(APPEND VNET_SOURCES
42 list(APPEND VNET_MULTIARCH_SOURCES
48 list(APPEND VNET_HEADERS
71 list(APPEND VNET_API_FILES interface.api)
73 ##############################################################################
75 ##############################################################################
76 list(APPEND VNET_SOURCES
83 list(APPEND VNET_MULTIARCH_SOURCES
87 list(APPEND VNET_HEADERS
93 list(APPEND VNET_API_FILES policer/policer.api)
95 ##############################################################################
97 ##############################################################################
98 list(APPEND VNET_SOURCES
106 list(APPEND VNET_MULTIARCH_SOURCES
112 list(APPEND VNET_HEADERS
116 list(APPEND VNET_API_FILES cop/cop.api)
118 ##############################################################################
119 # Layer 2 protocols go here
120 ##############################################################################
122 ##############################################################################
123 # Layer 2 protocol: Ethernet
124 ##############################################################################
125 list(APPEND VNET_SOURCES
126 ethernet/ethernet_types_api.c
130 ethernet/mac_address.c
134 ethernet/p2p_ethernet.c
135 ethernet/p2p_ethernet_input.c
136 ethernet/p2p_ethernet_api.c
139 list(APPEND VNET_MULTIARCH_SOURCES
141 ethernet/p2p_ethernet_input.c
144 list(APPEND VNET_HEADERS
147 ethernet/mac_address.h
151 ethernet/p2p_ethernet.h
154 list(APPEND VNET_API_FILES ethernet/p2p_ethernet.api)
156 ##############################################################################
157 # Layer 2 protocol: Ethernet bridging
158 ##############################################################################
159 list(APPEND VNET_SOURCES
164 l2/l2_input_classify.c
165 l2/l2_output_classify.c
175 l2/l2_in_out_feat_arc.c
183 list(APPEND VNET_MULTIARCH_SOURCES
188 l2/l2_in_out_feat_arc.c
189 l2/l2_input_classify.c
191 l2/l2_output_classify.c
201 list(APPEND VNET_HEADERS
218 list(APPEND VNET_API_FILES l2/l2.api)
220 ##############################################################################
221 # Layer 2 protocol: SRP
222 ##############################################################################
223 list(APPEND VNET_SOURCES
230 list(APPEND VNET_HEADERS
235 ##############################################################################
236 # Layer 2 protocol: PPP
237 ##############################################################################
238 list(APPEND VNET_SOURCES
244 list(APPEND VNET_HEADERS
250 ##############################################################################
251 # Layer 2 protocol: HDLC
252 ##############################################################################
253 list(APPEND VNET_SOURCES
259 list(APPEND VNET_HEADERS
265 ##############################################################################
266 # Layer 2 protocol: LLC
267 ##############################################################################
268 list(APPEND VNET_SOURCES
274 list(APPEND VNET_HEADERS
278 ##############################################################################
279 # Layer 2 protocol: SNAP
280 ##############################################################################
281 list(APPEND VNET_SOURCES
287 list(APPEND VNET_HEADERS
291 ##############################################################################
293 ##############################################################################
294 list(APPEND VNET_SOURCES
301 list(APPEND VNET_MULTIARCH_SOURCES
305 list(APPEND VNET_HEADERS
308 vxlan/vxlan_error.def
311 list(APPEND VNET_MULTIARCH_SOURCES vxlan/decap.c)
313 list(APPEND VNET_API_FILES vxlan/vxlan.api)
315 ##############################################################################
317 ##############################################################################
318 list(APPEND VNET_SOURCES
325 list(APPEND VNET_MULTIARCH_SOURCES
330 list(APPEND VNET_HEADERS
332 geneve/geneve_packet.h
333 geneve/geneve_error.def
336 list(APPEND VNET_API_FILES geneve/geneve.api)
338 ##############################################################################
340 ##############################################################################
341 list(APPEND VNET_SOURCES
348 list(APPEND VNET_HEADERS
352 list(APPEND VNET_MULTIARCH_SOURCES bonding/node.c bonding/device.c)
353 list(APPEND VNET_API_FILES bonding/bond.api)
355 ##############################################################################
357 ##############################################################################
358 list(APPEND VNET_SOURCES
366 list(APPEND VNET_HEADERS
371 list(APPEND VNET_API_FILES lldp/lldp.api)
373 ##############################################################################
374 # Layer 2/3 "classify"
375 ##############################################################################
376 list(APPEND VNET_SOURCES
377 classify/vnet_classify.c
378 classify/ip_classify.c
379 classify/in_out_acl.c
380 classify/policer_classify.c
381 classify/flow_classify.c
382 classify/flow_classify_node.c
383 classify/vnet_classify.h
384 classify/classify_api.c
387 list(APPEND VNET_MULTIARCH_SOURCES
388 classify/ip_classify.c
389 classify/flow_classify_node.c
392 list(APPEND VNET_HEADERS
393 classify/vnet_classify.h
394 classify/in_out_acl.h
395 classify/policer_classify.h
396 classify/flow_classify.h
399 list(APPEND VNET_API_FILES classify/classify.api)
401 ##############################################################################
402 # Layer 3 protocols go here
403 ##############################################################################
405 ##############################################################################
406 # Layer 3 protocol: IP v4/v6
407 ##############################################################################
408 list(APPEND VNET_SOURCES
421 ip/ip4_source_and_port_range_check.c
422 ip/ip4_source_check.c
448 list(APPEND VNET_MULTIARCH_SOURCES
449 ip/ip4_source_check.c
460 list(APPEND VNET_HEADERS
473 ip/ip6_hop_by_hop_packet.h
478 ip/ip_source_and_port_range_check.h
487 list(APPEND VNET_API_FILES
493 list(APPEND VNET_MULTIARCH_SOURCES
499 ##############################################################################
501 ##############################################################################
502 list(APPEND VNET_SOURCES
506 list(APPEND VNET_HEADERS
507 ethernet/arp_packet.h
511 ##############################################################################
512 # Bidirectional Forwarding Detection
513 ##############################################################################
515 list(APPEND VNET_HEADERS
522 list(APPEND VNET_SOURCES
531 list(APPEND VNET_API_FILES bfd/bfd.api)
533 ##############################################################################
534 # Layer 3 protocol: IPSec
535 ##############################################################################
536 list(APPEND VNET_SOURCES
545 ipsec/ipsec_spd_policy.c
554 list(APPEND VNET_MULTIARCH_SOURCES
564 list(APPEND VNET_API_FILES ipsec/ipsec.api)
566 list(APPEND VNET_SOURCES
570 list(APPEND VNET_HEADERS
573 ipsec/ipsec_spd_policy.h
580 ##############################################################################
581 # Layer 3 protocol: osi
582 ##############################################################################
583 list(APPEND VNET_SOURCES
589 list(APPEND VNET_HEADERS
593 ##############################################################################
594 # Layer 4 protocol: tcp
595 ##############################################################################
596 list(APPEND VNET_SOURCES
600 tcp/tcp_syn_filter4.c
608 list(APPEND VNET_MULTIARCH_SOURCES
611 tcp/tcp_syn_filter4.c
614 list(APPEND VNET_HEADERS
622 list(APPEND VNET_API_FILES tcp/tcp.api)
624 ##############################################################################
625 # Layer 4 protocol: udp
626 ##############################################################################
627 list(APPEND VNET_SOURCES
638 list(APPEND VNET_MULTIARCH_SOURCES
643 list(APPEND VNET_HEADERS
649 list(APPEND VNET_API_FILES udp/udp.api)
651 ##############################################################################
652 # Layer 4 protocol: sctp
653 ##############################################################################
654 list(APPEND VNET_SOURCES
660 sctp/sctp_output_node.c
664 list(APPEND VNET_MULTIARCH_SOURCES
665 sctp/sctp_output_node.c
669 list(APPEND VNET_HEADERS
676 list(APPEND VNET_API_FILES sctp/sctp.api)
678 ##############################################################################
679 # Tunnel protocol: gre
680 ##############################################################################
681 list(APPEND VNET_SOURCES
689 list(APPEND VNET_MULTIARCH_SOURCES
694 list(APPEND VNET_HEADERS
700 list(APPEND VNET_API_FILES gre/gre.api)
702 ##############################################################################
703 # Tunnel protocol: ipip
704 ##############################################################################
705 list(APPEND VNET_SOURCES
713 list(APPEND VNET_MULTIARCH_SOURCES
717 list(APPEND VNET_HEADERS
721 list(APPEND VNET_API_FILES ipip/ipip.api)
723 ##############################################################################
724 # Tunnel protocol: l2tpv3
725 ##############################################################################
726 list(APPEND VNET_SOURCES
734 list(APPEND VNET_MULTIARCH_SOURCES
739 list(APPEND VNET_HEADERS
744 list(APPEND VNET_API_FILES l2tp/l2tp.api)
746 ##############################################################################
747 # Tunnel protocol: gre+mpls
748 ##############################################################################
749 list(APPEND VNET_SOURCES
761 list(APPEND VNET_MULTIARCH_SOURCES
768 list(APPEND VNET_HEADERS
776 list(APPEND VNET_API_FILES mpls/mpls.api)
778 ##############################################################################
779 # Tunnel protocol: vxlan-gbp
780 ##############################################################################
781 list(APPEND VNET_SOURCES
784 vxlan-gbp/vxlan_gbp_api.c
785 vxlan-gbp/vxlan_gbp.c
786 vxlan-gbp/vxlan_gbp_packet.c
789 list (APPEND VNET_MULTIARCH_SOURCES
794 list(APPEND VNET_HEADERS
795 vxlan-gbp/vxlan_gbp.h
796 vxlan-gbp/vxlan_gbp_packet.h
797 vxlan-gbp/vxlan_gbp_error.def
800 list(APPEND VNET_API_FILES vxlan-gbp/vxlan_gbp.api)
802 ##############################################################################
803 # Tunnel protocol: vxlan-gpe
804 ##############################################################################
806 list(APPEND VNET_SOURCES
807 vxlan-gpe/vxlan_gpe.c
810 vxlan-gpe/vxlan_gpe_api.c
813 list (APPEND VNET_MULTIARCH_SOURCES
817 list(APPEND VNET_HEADERS
818 vxlan-gpe/vxlan_gpe.h
819 vxlan-gpe/vxlan_gpe_packet.h
820 vxlan-gpe/vxlan_gpe_error.def
823 list(APPEND VNET_API_FILES vxlan-gpe/vxlan_gpe.api)
825 ##############################################################################
826 # Tunnel protocol: ipsec+gre
827 ##############################################################################
828 list(APPEND VNET_SOURCES
829 ipsec-gre/ipsec_gre.c
831 ipsec-gre/interface.c
832 ipsec-gre/ipsec_gre_api.c
835 list(APPEND VNET_MULTIARCH_SOURCES
837 ipsec-gre/ipsec_gre.c
840 list(APPEND VNET_HEADERS
841 ipsec-gre/ipsec_gre.h
845 list(APPEND VNET_API_FILES ipsec-gre/ipsec_gre.api)
847 ##############################################################################
848 # LISP control plane: lisp-cp
849 ##############################################################################
851 list(APPEND VNET_SOURCES
853 lisp-cp/lisp_cp_dpo.c
855 lisp-cp/gid_dictionary.c
856 lisp-cp/lisp_msg_serdes.c
864 list(APPEND VNET_HEADERS
867 lisp-cp/gid_dictionary.h
868 lisp-cp/lisp_cp_messages.h
869 lisp-cp/lisp_msg_serdes.h
873 list(APPEND VNET_API_FILES lisp-cp/lisp.api)
874 list(APPEND VNET_API_FILES lisp-cp/one.api)
876 ##############################################################################
877 # Tunnel protocol: lisp-gpe
878 ##############################################################################
880 list(APPEND VNET_SOURCES
882 lisp-gpe/lisp_gpe_sub_interface.c
883 lisp-gpe/lisp_gpe_adjacency.c
884 lisp-gpe/lisp_gpe_tunnel.c
885 lisp-gpe/lisp_gpe_fwd_entry.c
886 lisp-gpe/lisp_gpe_tenant.c
889 lisp-gpe/lisp_gpe_api.c
892 list(APPEND VNET_HEADERS
894 lisp-gpe/lisp_gpe_fwd_entry.h
895 lisp-gpe/lisp_gpe_tenant.h
896 lisp-gpe/lisp_gpe_packet.h
897 lisp-gpe/lisp_gpe_error.def
900 list(APPEND VNET_API_FILES lisp-gpe/lisp_gpe.api)
902 ##############################################################################
904 ##############################################################################
905 list(APPEND VNET_SOURCES
907 dhcp/dhcp_client_detect.c
908 dhcp/dhcp6_client_common_dp.c
909 dhcp/dhcp6_pd_client_dp.c
910 dhcp/dhcp6_pd_client_cp.c
911 dhcp/dhcp6_ia_na_client_dp.c
912 dhcp/dhcp6_ia_na_client_cp.c
916 list(APPEND VNET_MULTIARCH_SOURCES
917 dhcp/dhcp_client_detect.c
920 list(APPEND VNET_HEADERS
922 dhcp/dhcp6_client_common_dp.h
923 dhcp/dhcp6_pd_client_dp.h
924 dhcp/dhcp6_ia_na_client_dp.h
927 list(APPEND VNET_API_FILES
929 dhcp/dhcp6_pd_client_cp.api
930 dhcp/dhcp6_ia_na_client_cp.api
933 ##############################################################################
935 ##############################################################################
936 list(APPEND VNET_SOURCES
937 dhcp/dhcp6_proxy_node.c
938 dhcp/dhcp4_proxy_node.c
942 list(APPEND VNET_HEADERS
946 dhcp/dhcp6_proxy_error.def
947 dhcp/dhcp4_proxy_error.def
950 ##############################################################################
951 # ipv6 segment routing
952 ##############################################################################
954 list(APPEND VNET_SOURCES
957 srv6/sr_policy_rewrite.c
962 list(APPEND VNET_HEADERS
967 list(APPEND VNET_API_FILES srv6/sr.api)
969 ##############################################################################
970 # mpls segment routing
971 ##############################################################################
973 list(APPEND VNET_SOURCES
974 srmpls/sr_mpls_policy.c
975 srmpls/sr_mpls_steering.c
979 list(APPEND VNET_HEADERS
983 list(APPEND VNET_API_FILES srmpls/sr_mpls.api)
985 ##############################################################################
986 # IPFIX / netflow v10
987 ##############################################################################
988 list(APPEND VNET_SOURCES
989 ipfix-export/flow_report.c
990 ipfix-export/flow_api.c
993 list(APPEND VNET_HEADERS
994 ipfix-export/flow_report.h
995 ipfix-export/ipfix_info_elements.h
996 ipfix-export/ipfix_packet.h
999 list(APPEND VNET_API_FILES ipfix-export/ipfix_export.api)
1001 ##############################################################################
1002 # IPFIX classify code
1003 ##############################################################################
1005 list(APPEND VNET_SOURCES
1006 ipfix-export/flow_report_classify.c
1009 list(APPEND VNET_HEADERS
1010 ipfix-export/flow_report_classify.h
1013 ##############################################################################
1015 ##############################################################################
1017 list(APPEND VNET_SOURCES
1018 lawful-intercept/lawful_intercept.c
1019 lawful-intercept/node.c
1022 list(APPEND VNET_MULTIARCH_SOURCES
1023 lawful-intercept/node.c
1026 list(APPEND VNET_HEADERS
1027 lawful-intercept/lawful_intercept.h
1030 ##############################################################################
1031 # SPAN (port mirroring)
1032 ##############################################################################
1034 list(APPEND VNET_SOURCES
1040 list(APPEND VNET_MULTIARCH_SOURCES
1044 list(APPEND VNET_HEADERS
1048 list(APPEND VNET_API_FILES span/span.api)
1050 ##############################################################################
1052 ##############################################################################
1053 list(APPEND VNET_SOURCES
1059 dns/resolver_process.c
1062 list(APPEND VNET_HEADERS
1066 list(APPEND VNET_API_FILES dns/dns.api)
1068 ##############################################################################
1070 ##############################################################################
1072 list(APPEND VNET_SOURCES
1082 list(APPEND VNET_HEADERS
1087 list(APPEND VNET_API_FILES pg/pg.api)
1089 ##############################################################################
1091 ##############################################################################
1093 list(APPEND VNET_SOURCES
1094 devices/virtio/device.c
1095 devices/virtio/node.c
1096 devices/virtio/vhost_user.c
1097 devices/virtio/vhost_user_input.c
1098 devices/virtio/vhost_user_output.c
1099 devices/virtio/vhost_user_api.c
1100 devices/virtio/virtio.c
1101 devices/virtio/virtio_api.c
1102 devices/virtio/cli.c
1103 devices/virtio/pci.c
1106 list(APPEND VNET_HEADERS
1107 devices/virtio/pci.h
1108 devices/virtio/virtio.h
1109 devices/virtio/vhost_user.h
1112 list(APPEND VNET_MULTIARCH_SOURCES
1113 devices/virtio/vhost_user_input.c
1114 devices/virtio/vhost_user_output.c
1115 devices/netmap/node.c
1116 devices/virtio/node.c
1117 devices/af_packet/node.c
1118 devices/virtio/device.c
1121 list(APPEND VNET_API_FILES
1122 devices/virtio/vhost_user.api
1123 devices/virtio/virtio.api
1126 ##############################################################################
1127 # tap interface (with virtio backend)
1128 ##############################################################################
1130 list(APPEND VNET_SOURCES
1133 devices/tap/tapv2_api.c
1136 list(APPEND VNET_HEADERS
1140 list(APPEND VNET_API_FILES devices/tap/tapv2.api)
1142 ##############################################################################
1143 # tap interface (with virtio backend)
1144 ##############################################################################
1146 list(APPEND VNET_SOURCES
1147 devices/pipe/pipe_api.c
1151 list(APPEND VNET_HEADERS
1155 list(APPEND VNET_API_FILES devices/pipe/pipe.api)
1157 ##############################################################################
1158 # session managmeent
1159 ##############################################################################
1161 list(APPEND VNET_SOURCES
1163 session/session_table.c
1164 session/session_rules_table.c
1165 session/session_lookup.c
1166 session/session_node.c
1168 session/application.c
1169 session/application_worker.c
1170 session/session_cli.c
1171 session/application_interface.c
1172 session/application_local.c
1173 session/application_namespace.c
1174 session/segment_manager.c
1175 session/session_api.c
1178 list(APPEND VNET_HEADERS
1180 session/session_table.h
1181 session/session_rules_table.h
1182 session/session_types.h
1183 session/session_lookup.h
1184 session/application.h
1186 session/transport_types.h
1187 session/application_interface.h
1188 session/application_local.h
1189 session/application_namespace.h
1190 session/session_debug.h
1191 session/segment_manager.h
1192 session/mma_template.h
1193 session/mma_template.c
1198 list(APPEND VNET_API_FILES session/session.api)
1200 ##############################################################################
1201 # session layer applications
1202 ##############################################################################
1204 list(APPEND VNET_SOURCES
1205 session-apps/echo_client.c
1206 session-apps/echo_server.c
1207 session-apps/http_server.c
1208 session-apps/proxy.c
1211 list(APPEND VNET_HEADERS
1212 session-apps/echo_client.h
1213 session-apps/proxy.h
1216 ##############################################################################
1218 ##############################################################################
1220 list(APPEND VNET_SOURCES
1224 list(APPEND VNET_HEADERS
1229 ##############################################################################
1230 # Linux packet interface
1231 ##############################################################################
1233 list(APPEND VNET_SOURCES
1234 devices/af_packet/af_packet.c
1235 devices/af_packet/device.c
1236 devices/af_packet/node.c
1237 devices/af_packet/cli.c
1238 devices/af_packet/af_packet_api.c
1241 list(APPEND VNET_MULTIARCH_SOURCES
1242 devices/netmap/device.c
1243 devices/af_packet/device.c
1246 list(APPEND VNET_HEADERS
1247 devices/af_packet/af_packet.h
1250 list(APPEND VNET_API_FILES devices/af_packet/af_packet.api)
1252 ##############################################################################
1254 ##############################################################################
1256 list(APPEND VNET_SOURCES
1257 devices/netmap/netmap.c
1258 devices/netmap/device.c
1259 devices/netmap/node.c
1260 devices/netmap/cli.c
1261 devices/netmap/netmap_api.c
1264 list(APPEND VNET_HEADERS
1265 devices/netmap/netmap.h
1268 list(APPEND VNET_API_FILES devices/netmap/netmap.api)
1270 ##############################################################################
1271 # Driver feature graph arc support
1272 ##############################################################################
1274 list(APPEND VNET_SOURCES
1276 feature/feature_api.c
1277 feature/registration.c
1280 list(APPEND VNET_HEADERS
1284 list(APPEND VNET_API_FILES feature/feature.api)
1286 ##############################################################################
1287 # Unix kernel related
1288 ##############################################################################
1290 # FIXME: unix/hgshm.c
1292 list(APPEND VNET_SOURCES
1297 list(APPEND VNET_HEADERS
1301 ##############################################################################
1303 ##############################################################################
1305 list(APPEND VNET_SOURCES
1317 fib/fib_entry_src_rr.c
1318 fib/fib_entry_src_interface.c
1319 fib/fib_entry_src_interpose.c
1320 fib/fib_entry_src_default_route.c
1321 fib/fib_entry_src_special.c
1322 fib/fib_entry_src_api.c
1323 fib/fib_entry_src_adj.c
1324 fib/fib_entry_src_mpls.c
1325 fib/fib_entry_src_lisp.c
1326 fib/fib_entry_cover.c
1327 fib/fib_entry_delegate.c
1332 fib/fib_attached_export.c
1337 list(APPEND VNET_HEADERS
1347 fib/fib_entry_delegate.h
1350 ##############################################################################
1352 ##############################################################################
1354 list(APPEND VNET_SOURCES
1367 list(APPEND VNET_MULTIARCH_SOURCES
1372 list(APPEND VNET_HEADERS
1381 ##############################################################################
1382 # Data-Plane Objects
1383 ##############################################################################
1385 list(APPEND VNET_SOURCES
1393 dpo/load_balance_map.c
1397 dpo/interface_rx_dpo.c
1398 dpo/interface_tx_dpo.c
1399 dpo/mpls_disposition.c
1400 dpo/mpls_label_dpo.c
1405 list(APPEND VNET_MULTIARCH_SOURCES
1407 dpo/mpls_disposition.c
1409 dpo/mpls_label_dpo.c
1410 dpo/interface_rx_dpo.c
1413 list(APPEND VNET_HEADERS
1425 ##############################################################################
1427 ##############################################################################
1429 list(APPEND VNET_SOURCES
1438 mfib/mfib_entry_cover.c
1439 mfib/mfib_entry_delegate.c
1440 mfib/mfib_entry_src.c
1441 mfib/mfib_entry_src_rr.c
1445 list(APPEND VNET_MULTIARCH_SOURCES
1449 list(APPEND VNET_HEADERS
1455 ##############################################################################
1457 ##############################################################################
1459 list(APPEND VNET_SOURCES
1466 list(APPEND VNET_HEADERS
1470 ##############################################################################
1472 ##############################################################################
1474 list(APPEND VNET_SOURCES
1477 qos/qos_egress_map.c
1479 qos/qos_record_node.c
1484 list(APPEND VNET_MULTIARCH_SOURCES
1485 qos/qos_record_node.c
1489 list(APPEND VNET_API_FILES qos/qos.api)
1491 ##############################################################################
1493 ##############################################################################
1495 list(APPEND VNET_SOURCES
1496 bier/bier_bit_string.c
1499 bier/bier_fmask_db.c
1508 bier/bier_imp_node.c
1510 bier/bier_disp_entry.c
1511 bier/bier_disp_lookup_node.c
1512 bier/bier_disp_dispatch_node.c
1513 bier/bier_disp_table.c
1514 bier/bier_bift_table.c
1517 list(APPEND VNET_MULTIARCH_SOURCES
1518 bier/bier_disp_dispatch_node.c
1519 bier/bier_disp_lookup_node.c
1520 bier/bier_imp_node.c
1523 list(APPEND VNET_HEADERS
1530 list(APPEND VNET_API_FILES bier/bier.api)
1532 ##############################################################################
1534 ##############################################################################
1536 list (APPEND VNET_SOURCES
1542 list(APPEND VNET_HEADERS
1547 list(APPEND VNET_API_FILES syslog/syslog.api)
1549 ##############################################################################
1551 ##############################################################################
1553 add_vpp_library(vnet
1554 SOURCES ${VNET_SOURCES}
1555 MULTIARCH_SOURCES ${VNET_MULTIARCH_SOURCES}
1556 INSTALL_HEADERS ${VNET_HEADERS}
1557 API_FILES ${VNET_API_FILES}
1558 LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES}
1562 ##############################################################################
1564 ##############################################################################
1566 option(VPP_BUILD_SESSION_ECHO_APPS "Build session echo apps." ON)
1567 if(VPP_BUILD_SESSION_ECHO_APPS)
1568 add_vpp_executable(tcp_echo
1569 SOURCES ../tests/vnet/session/tcp_echo.c
1570 LINK_LIBRARIES vlibmemoryclient svm vppinfra pthread m rt
1574 add_vpp_executable(udp_echo
1575 SOURCES ../tests/vnet/session/udp_echo.c
1576 LINK_LIBRARIES vlibmemoryclient svm vppinfra pthread m rt
1580 endif(VPP_BUILD_SESSION_ECHO_APPS)
1582 ##############################################################################