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})
34 bier/bier_bift_table.c
35 bier/bier_bit_string.c
36 bier/bier_disp_dispatch_node.c
37 bier/bier_disp_entry.c
38 bier/bier_disp_lookup_node.c
39 bier/bier_disp_table.c
58 classify/classify_api.c
59 classify/flow_classify.c
60 classify/flow_classify_node.c
62 classify/ip_classify.c
63 classify/policer_classify.c
64 classify/vnet_classify.c
71 devices/af_packet/af_packet_api.c
72 devices/af_packet/af_packet.c
73 devices/af_packet/cli.c
74 devices/af_packet/device.c
75 devices/af_packet/node.c
79 devices/netmap/device.c
80 devices/netmap/netmap_api.c
81 devices/netmap/netmap.c
83 devices/pipe/pipe_api.c
87 devices/tap/tapv2_api.c
88 devices/virtio/device.c
90 devices/virtio/vhost_user_api.c
91 devices/virtio/vhost_user.c
92 devices/virtio/vhost_user_input.c
93 devices/virtio/vhost_user_output.c
94 devices/virtio/virtio.c
96 dhcp/dhcp4_proxy_node.c
97 dhcp/dhcp6_client_common_dp.c
98 dhcp/dhcp6_ia_na_client_cp.c
99 dhcp/dhcp6_ia_na_client_dp.c
100 dhcp/dhcp6_pd_client_cp.c
101 dhcp/dhcp6_pd_client_dp.c
102 dhcp/dhcp6_proxy_node.c
104 dhcp/dhcp_client_detect.c
109 dns/resolver_process.c
114 dpo/interface_rx_dpo.c
115 dpo/interface_tx_dpo.c
120 dpo/load_balance_map.c
122 dpo/mpls_disposition.c
132 ethernet/p2p_ethernet_api.c
133 ethernet/p2p_ethernet.c
134 ethernet/p2p_ethernet_input.c
137 feature/feature_api.c
139 feature/registration.c
141 fib/fib_attached_export.c
145 fib/fib_entry_cover.c
146 fib/fib_entry_delegate.c
147 fib/fib_entry_src_adj.c
148 fib/fib_entry_src_api.c
150 fib/fib_entry_src_default_route.c
151 fib/fib_entry_src_interface.c
152 fib/fib_entry_src_interpose.c
153 fib/fib_entry_src_lisp.c
154 fib/fib_entry_src_mpls.c
155 fib/fib_entry_src_rr.c
156 fib/fib_entry_src_special.c
191 ipfix-export/flow_api.c
192 ipfix-export/flow_report.c
193 ipfix-export/flow_report_classify.c
206 ip/ip4_source_and_port_range_check.c
207 ip/ip4_source_check.c
241 ipsec-gre/interface.c
242 ipsec-gre/ipsec_gre_api.c
243 ipsec-gre/ipsec_gre.c
249 ipsec/ikev2_payload.c
268 l2/l2_input_classify.c
272 l2/l2_output_classify.c
282 lawful-intercept/lawful_intercept.c
283 lawful-intercept/node.c
285 lisp-cp/gid_dictionary.c
288 lisp-cp/lisp_cp_dpo.c
289 lisp-cp/lisp_msg_serdes.c
296 lisp-gpe/lisp_gpe_adjacency.c
297 lisp-gpe/lisp_gpe_api.c
299 lisp-gpe/lisp_gpe_fwd_entry.c
300 lisp-gpe/lisp_gpe_sub_interface.c
301 lisp-gpe/lisp_gpe_tenant.c
302 lisp-gpe/lisp_gpe_tunnel.c
341 policer/policer_api.c
359 session/application.c
360 session/application_interface.c
361 session/application_namespace.c
362 session-apps/echo_client.c
363 session-apps/echo_server.c
364 session-apps/http_server.c
366 session/segment_manager.c
367 session/session_api.c
369 session/session_cli.c
370 session/session_lookup.c
371 session/session_node.c
372 session/session_rules_table.c
373 session/session_table.c
374 session/session_test.c
383 srmpls/sr_mpls_policy.c
384 srmpls/sr_mpls_steering.c
392 srv6/sr_policy_rewrite.c
401 tcp/tcp_syn_filter4.c
423 vxlan-gpe/vxlan_gpe_api.c
424 vxlan-gpe/vxlan_gpe.c
429 vpp_add_api_files(vnet_api_headers
430 vxlan-gpe/vxlan_gpe.api
436 devices/virtio/vhost_user.api
437 devices/af_packet/af_packet.api
438 devices/tap/tapv2.api
439 devices/netmap/netmap.api
440 devices/pipe/pipe.api
443 ipsec-gre/ipsec_gre.api
446 lisp-gpe/lisp_gpe.api
455 dhcp/dhcp6_pd_client_cp.api
456 dhcp/dhcp6_ia_na_client_cp.api
474 ethernet/p2p_ethernet.api
475 ipfix-export/ipfix_export.api
476 classify/classify.api
480 vpp_add_header_files(vnet
482 vxlan-gpe/vxlan_gpe.h
483 vxlan-gpe/vxlan_gpe_packet.h
484 vxlan-gpe/vxlan_gpe_error.def
486 ip/ip_source_and_port_range_check.h
494 ip/ip6_hop_by_hop_packet.h
525 fib/fib_entry_delegate.h
526 devices/virtio/virtio.h
527 devices/virtio/vhost_user.h
528 devices/af_packet/af_packet.h
531 devices/netmap/netmap.h
551 ipsec-gre/ipsec_gre.h
554 lawful-intercept/lawful_intercept.h
564 lisp-gpe/lisp_gpe_packet.h
565 lisp-gpe/lisp_gpe_error.def
566 lisp-gpe/lisp_gpe_fwd_entry.h
567 lisp-gpe/lisp_gpe_tenant.h
577 vxlan/vxlan_error.def
584 dhcp/dhcp6_pd_client_dp.h
586 dhcp/dhcp4_proxy_error.def
588 dhcp/dhcp6_proxy_error.def
589 dhcp/dhcp6_client_common_dp.h
591 dhcp/dhcp6_ia_na_client_dp.h
609 lisp-cp/lisp_cp_messages.h
611 lisp-cp/gid_dictionary.h
612 lisp-cp/lisp_msg_serdes.h
640 geneve/geneve_error.def
641 geneve/geneve_packet.h
647 session-apps/echo_client.h
664 session/session_lookup.h
665 session/mma_template.c
666 session/application.h
667 session/segment_manager.h
668 session/mma_template.h
669 session/session_rules_table.h
672 session/session_debug.h
675 session/session_table.h
676 session/transport_interface.h
677 session/application_namespace.h
678 session/stream_session.h
679 session/application_interface.h
683 ethernet/p2p_ethernet.h
686 ethernet/arp_packet.h
689 ipfix-export/ipfix_info_elements.h
690 ipfix-export/flow_report.h
691 ipfix-export/flow_report_classify.h
692 ipfix-export/ipfix_packet.h
694 classify/flow_classify.h
695 classify/in_out_acl.h
696 classify/vnet_classify.h
697 classify/policer_classify.h
705 add_library(vnet SHARED ${VNET_SRCS})
707 vpp_library_set_multiarch_sources(vnet
712 devices/virtio/vhost_user_input.c
713 devices/virtio/vhost_user_output.c
715 target_link_libraries(vnet vlib ${OPENSSL_LIBRARIES})
716 add_dependencies(vnet api_headers)
721 install(TARGETS vnet DESTINATION lib)