blob: 1c85daf84bffec89dace9b34229fd0670dbaf3f2 [file] [log] [blame]
Damjan Marion612dd6a2018-07-30 12:45:07 +02001# 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:
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
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.
13
14add_definitions (-DWITH_LIBSSL=1)
Damjan Mariond16004d2018-08-26 10:14:52 +020015include_directories(${OPENSSL_INCLUDE_DIR})
16
Damjan Marion4553c952018-08-26 11:04:40 +020017unset(VNET_SOURCES)
18unset(VNET_HEADERS)
19unset(VNET_API_FILES)
20unset(VNET_MULTIARCH_SOURCES)
21
22##############################################################################
23# Generic stuff
24##############################################################################
25list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +020026 buffer.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020027 config.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020028 devices/devices.c
29 devices/netlink.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020030 flow/flow.c
31 flow/flow_cli.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020032 handoff.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020033 interface.c
Damjan Marion4553c952018-08-26 11:04:40 +020034 interface_api.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020035 interface_cli.c
36 interface_format.c
37 interface_output.c
38 interface_stats.c
Damjan Marion4553c952018-08-26 11:04:40 +020039 misc.c
Damjan Marion4553c952018-08-26 11:04:40 +020040)
41
Filip Tehlar62668772019-03-04 03:33:32 -080042list(APPEND VNET_MULTIARCH_SOURCES
43 interface_output.c
44 interface_stats.c
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -070045 handoff.c
Filip Tehlar62668772019-03-04 03:33:32 -080046)
47
Damjan Marion4553c952018-08-26 11:04:40 +020048list(APPEND VNET_HEADERS
49 api_errno.h
50 buffer.h
51 config.h
52 devices/devices.h
53 devices/netlink.h
54 flow/flow.h
55 global_funcs.h
56 handoff.h
57 interface.h
58 interface_funcs.h
59 ip/ip4_to_ip6.h
60 ip/ip6_to_ip4.h
Benoît Ganne09267f72019-05-17 14:24:17 +020061 ip/ip_types_api.h
Damjan Marion4553c952018-08-26 11:04:40 +020062 l3_types.h
63 plugin/plugin.h
64 pipeline.h
Damjan Marion4553c952018-08-26 11:04:40 +020065 vnet.h
66 vnet_all_api_h.h
67 vnet_msg_enum.h
68 util/radix.h
69 util/refcount.h
70)
71
Benoît Ganne09267f72019-05-17 14:24:17 +020072list(APPEND VNET_API_FILES
73 interface.api
74 ip/ip_types.api
75)
Damjan Marion4553c952018-08-26 11:04:40 +020076
77##############################################################################
78# Policer infra
79##############################################################################
80list(APPEND VNET_SOURCES
81 policer/node_funcs.c
82 policer/policer.c
83 policer/xlate.c
84 policer/policer_api.c
85)
86
Filip Tehlar30d93482019-03-06 04:28:32 -080087list(APPEND VNET_MULTIARCH_SOURCES
88 policer/node_funcs.c
89)
90
Damjan Marion4553c952018-08-26 11:04:40 +020091list(APPEND VNET_HEADERS
92 policer/police.h
93 policer/policer.h
94 policer/xlate.h
95)
96
97list(APPEND VNET_API_FILES policer/policer.api)
98
99##############################################################################
100# Cop - junk filter
101##############################################################################
102list(APPEND VNET_SOURCES
103 cop/cop.c
104 cop/node1.c
105 cop/ip4_whitelist.c
106 cop/ip6_whitelist.c
107 cop/cop_api.c
108)
109
Filip Tehlar1fc33b32019-03-05 01:22:04 -0800110list(APPEND VNET_MULTIARCH_SOURCES
111 cop/node1.c
112 cop/ip4_whitelist.c
113 cop/ip6_whitelist.c
114)
115
Damjan Marion4553c952018-08-26 11:04:40 +0200116list(APPEND VNET_HEADERS
117 cop/cop.h
118)
119
120list(APPEND VNET_API_FILES cop/cop.api)
121
122##############################################################################
123# Layer 2 protocols go here
124##############################################################################
125
126##############################################################################
127# Layer 2 protocol: Ethernet
128##############################################################################
129list(APPEND VNET_SOURCES
Neale Rannsde5b08f2018-08-29 06:37:18 -0700130 ethernet/ethernet_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +0200131 ethernet/format.c
132 ethernet/init.c
133 ethernet/interface.c
Neale Rannsde5b08f2018-08-29 06:37:18 -0700134 ethernet/mac_address.c
Damjan Marion4553c952018-08-26 11:04:40 +0200135 ethernet/node.c
136 ethernet/pg.c
137 ethernet/sfp.c
138 ethernet/p2p_ethernet.c
139 ethernet/p2p_ethernet_input.c
140 ethernet/p2p_ethernet_api.c
141)
142
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700143list(APPEND VNET_MULTIARCH_SOURCES
144 ethernet/node.c
145 ethernet/p2p_ethernet_input.c
146)
Damjan Marion4553c952018-08-26 11:04:40 +0200147
148list(APPEND VNET_HEADERS
149 ethernet/error.def
150 ethernet/ethernet.h
Jon Loeliger330bf932018-11-28 13:51:42 -0600151 ethernet/mac_address.h
Damjan Marion4553c952018-08-26 11:04:40 +0200152 ethernet/packet.h
153 ethernet/types.def
154 ethernet/sfp.h
155 ethernet/p2p_ethernet.h
156)
157
158list(APPEND VNET_API_FILES ethernet/p2p_ethernet.api)
159
160##############################################################################
161# Layer 2 protocol: Ethernet bridging
162##############################################################################
163list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200164 l2/feat_bitmap.c
165 l2/l2_api.c
166 l2/l2_bd.c
167 l2/l2_bvi.c
Neale Ranns192b13f2019-03-15 02:16:20 -0700168 l2/l2_bvi_node.c
Damjan Marion4553c952018-08-26 11:04:40 +0200169 l2/l2_input_classify.c
170 l2/l2_output_classify.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200171 l2/l2_efp_filter.c
172 l2/l2_fib.c
173 l2/l2_flood.c
174 l2/l2_fwd.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200175 l2/l2_input.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200176 l2/l2_input_vtr.c
177 l2/l2_learn.c
178 l2/l2_output.c
Damjan Marion4553c952018-08-26 11:04:40 +0200179 l2/l2_in_out_acl.c
Andrew Yourtchenkoa23cade2018-10-06 09:18:00 +0200180 l2/l2_in_out_feat_arc.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200181 l2/l2_patch.c
182 l2/l2_rw.c
Neale Rannsb4743802018-09-05 09:13:57 -0700183 l2/l2_uu_fwd.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200184 l2/l2_vtr.c
185 l2/l2_xcrw.c
Damjan Marion4553c952018-08-26 11:04:40 +0200186)
187
Neale Rannsc25eb452018-09-12 06:53:03 -0400188list(APPEND VNET_MULTIARCH_SOURCES
Neale Ranns192b13f2019-03-15 02:16:20 -0700189 l2/l2_bvi_node.c
Neale Rannsc25eb452018-09-12 06:53:03 -0400190 l2/l2_fwd.c
191 l2/l2_learn.c
192 l2/l2_output.c
Damjan Marionc3baf622018-11-06 13:33:27 +0100193 l2/l2_patch.c
Filip Tehlar44f0f712019-03-11 04:26:37 -0700194 l2/l2_in_out_feat_arc.c
195 l2/l2_input_classify.c
196 l2/l2_input.c
197 l2/l2_output_classify.c
198 l2/l2_flood.c
199 l2/l2_uu_fwd.c
200 l2/l2_efp_filter.c
201 l2/l2_rw.c
202 l2/l2_xcrw.c
203 l2/l2_in_out_acl.c
204 l2/l2_input_vtr.c
Neale Rannsc25eb452018-09-12 06:53:03 -0400205)
Neale Rannseb1525f2018-09-09 04:41:02 -0400206
Damjan Marion4553c952018-08-26 11:04:40 +0200207list(APPEND VNET_HEADERS
208 l2/feat_bitmap.h
209 l2/l2_input.h
210 l2/l2_output.h
211 l2/l2_vtr.h
212 l2/l2_input_vtr.h
213 l2/l2_efp_filter.h
214 l2/l2_fwd.h
215 l2/l2_bd.h
216 l2/l2_bvi.h
217 l2/l2_flood.h
218 l2/l2_fib.h
219 l2/l2_rw.h
220 l2/l2_xcrw.h
221 l2/l2_classify.h
222)
223
224list(APPEND VNET_API_FILES l2/l2.api)
225
226##############################################################################
227# Layer 2 protocol: SRP
228##############################################################################
229list(APPEND VNET_SOURCES
230 srp/format.c
231 srp/interface.c
232 srp/node.c
233 srp/pg.c
234)
235
236list(APPEND VNET_HEADERS
237 srp/packet.h
238 srp/srp.h
239)
240
241##############################################################################
242# Layer 2 protocol: PPP
243##############################################################################
244list(APPEND VNET_SOURCES
245 ppp/node.c
246 ppp/pg.c
247 ppp/ppp.c
248)
249
250list(APPEND VNET_HEADERS
251 ppp/error.def
252 ppp/ppp.h
253 ppp/packet.h
254)
255
256##############################################################################
257# Layer 2 protocol: HDLC
258##############################################################################
259list(APPEND VNET_SOURCES
260 hdlc/node.c
261 hdlc/pg.c
262 hdlc/hdlc.c
263)
264
265list(APPEND VNET_HEADERS
266 hdlc/error.def
267 hdlc/hdlc.h
268 hdlc/packet.h
269)
270
271##############################################################################
272# Layer 2 protocol: LLC
273##############################################################################
274list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200275 llc/llc.c
276 llc/node.c
277 llc/pg.c
Damjan Marion4553c952018-08-26 11:04:40 +0200278)
279
280list(APPEND VNET_HEADERS
281 llc/llc.h
282)
283
284##############################################################################
285# Layer 2 protocol: SNAP
286##############################################################################
287list(APPEND VNET_SOURCES
288 snap/snap.c
289 snap/node.c
290 snap/pg.c
291)
292
293list(APPEND VNET_HEADERS
294 snap/snap.h
295)
296
297##############################################################################
298# Layer 2 / vxlan
299##############################################################################
300list(APPEND VNET_SOURCES
301 vxlan/vxlan.c
302 vxlan/encap.c
303 vxlan/decap.c
304 vxlan/vxlan_api.c
305)
306
Filip Tehlare1714d32019-03-05 03:01:43 -0800307list(APPEND VNET_MULTIARCH_SOURCES
308 vxlan/encap.c
309)
310
Damjan Marion4553c952018-08-26 11:04:40 +0200311list(APPEND VNET_HEADERS
312 vxlan/vxlan.h
313 vxlan/vxlan_packet.h
314 vxlan/vxlan_error.def
315)
316
Eyal Baria5679e82018-08-26 15:20:07 +0300317list(APPEND VNET_MULTIARCH_SOURCES vxlan/decap.c)
318
Damjan Marion4553c952018-08-26 11:04:40 +0200319list(APPEND VNET_API_FILES vxlan/vxlan.api)
320
321##############################################################################
322# Layer 2 / Geneve
323##############################################################################
324list(APPEND VNET_SOURCES
325 geneve/geneve.c
326 geneve/encap.c
327 geneve/decap.c
328 geneve/geneve_api.c
329)
330
Filip Tehlar55333d72019-03-05 00:36:04 -0800331list(APPEND VNET_MULTIARCH_SOURCES
332 geneve/encap.c
333 geneve/decap.c
334)
335
Damjan Marion4553c952018-08-26 11:04:40 +0200336list(APPEND VNET_HEADERS
337 geneve/geneve.h
338 geneve/geneve_packet.h
339 geneve/geneve_error.def
340)
341
342list(APPEND VNET_API_FILES geneve/geneve.api)
343
344##############################################################################
345# Layer 2 / Bonding
346##############################################################################
347list(APPEND VNET_SOURCES
348 bonding/cli.c
349 bonding/node.c
350 bonding/device.c
351 bonding/bond_api.c
352)
353
354list(APPEND VNET_HEADERS
355 bonding/node.h
356)
357
Damjan Marioncefe1342018-09-21 18:11:33 +0200358list(APPEND VNET_MULTIARCH_SOURCES bonding/node.c bonding/device.c)
Damjan Marion4553c952018-08-26 11:04:40 +0200359list(APPEND VNET_API_FILES bonding/bond.api)
360
361##############################################################################
362# Layer 2 / LLDP
363##############################################################################
364list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200365 lldp/lldp_input.c
366 lldp/lldp_node.c
367 lldp/lldp_output.c
Damjan Marion4553c952018-08-26 11:04:40 +0200368 lldp/lldp_cli.c
369 lldp/lldp_api.c
370)
371
372list(APPEND VNET_HEADERS
373 lldp/lldp_protocol.h
374 lldp/lldp.h
375)
376
377list(APPEND VNET_API_FILES lldp/lldp.api)
378
379##############################################################################
380# Layer 2/3 "classify"
381##############################################################################
382list(APPEND VNET_SOURCES
383 classify/vnet_classify.c
384 classify/ip_classify.c
385 classify/in_out_acl.c
386 classify/policer_classify.c
387 classify/flow_classify.c
388 classify/flow_classify_node.c
389 classify/vnet_classify.h
390 classify/classify_api.c
391)
392
Filip Tehlare8cb5212019-03-06 04:50:34 -0800393list(APPEND VNET_MULTIARCH_SOURCES
394 classify/ip_classify.c
395 classify/flow_classify_node.c
396)
397
Damjan Marion4553c952018-08-26 11:04:40 +0200398list(APPEND VNET_HEADERS
399 classify/vnet_classify.h
400 classify/in_out_acl.h
401 classify/policer_classify.h
402 classify/flow_classify.h
403)
404
405list(APPEND VNET_API_FILES classify/classify.api)
406
407##############################################################################
408# Layer 3 protocols go here
409##############################################################################
410
411##############################################################################
412# Layer 3 protocol: IP v4/v6
413##############################################################################
414list(APPEND VNET_SOURCES
415 ip/format.c
416 ip/icmp4.c
417 ip/icmp6.c
418 ip/ip46_cli.c
419 ip/ip_types_api.c
420 ip/ip4_format.c
421 ip/ip4_forward.c
422 ip/ip4_punt_drop.c
423 ip/ip4_input.c
424 ip/ip4_options.c
425 ip/ip4_mtrie.c
426 ip/ip4_pg.c
427 ip/ip4_source_and_port_range_check.c
428 ip/ip4_source_check.c
429 ip/ip4_reassembly.c
430 ip/ip6_format.c
431 ip/ip6_forward.c
432 ip/ip6_ll_table.c
433 ip/ip6_ll_types.c
434 ip/ip6_punt_drop.c
435 ip/ip6_hop_by_hop.c
436 ip/ip6_input.c
437 ip/ip6_neighbor.c
438 ip/ip6_pg.c
439 ip/ip6_reassembly.c
440 ip/rd_cp.c
441 ip/ip_neighbor.c
442 ip/ip_api.c
443 ip/ip_checksum.c
444 ip/ip_frag.c
445 ip/ip.c
446 ip/ip_init.c
447 ip/ip_in_out_acl.c
Neale Ranns92207752019-06-03 13:21:40 +0000448 ip/ip_punt_drop.c
Damjan Marion4553c952018-08-26 11:04:40 +0200449 ip/lookup.c
450 ip/ping.c
451 ip/punt_api.c
452 ip/punt.c
Neale Ranns50f0ac02019-05-15 02:13:37 -0700453 ip/punt_node.c
Damjan Marion4553c952018-08-26 11:04:40 +0200454)
455
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700456list(APPEND VNET_MULTIARCH_SOURCES
457 ip/ip4_source_check.c
458 ip/ip4_punt_drop.c
459 ip/ip4_reassembly.c
460 ip/ip6_hop_by_hop.c
461 ip/ip6_reassembly.c
462 ip/ip6_input.c
463 ip/ip6_punt_drop.c
Neale Ranns50f0ac02019-05-15 02:13:37 -0700464 ip/punt_node.c
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700465 ip/ip_in_out_acl.c
466)
467
Damjan Marion4553c952018-08-26 11:04:40 +0200468list(APPEND VNET_HEADERS
469 ip/format.h
470 ip/icmp46_packet.h
471 ip/icmp4.h
472 ip/icmp6.h
473 ip/igmp_packet.h
474 ip/ip4_error.h
475 ip/ip4.h
476 ip/ip4_mtrie.h
477 ip/ip4_packet.h
478 ip/ip6_error.h
479 ip/ip6.h
480 ip/ip6_hop_by_hop.h
481 ip/ip6_hop_by_hop_packet.h
482 ip/ip6_packet.h
483 ip/ip6_neighbor.h
484 ip/ip.h
485 ip/ip_packet.h
486 ip/ip_source_and_port_range_check.h
487 ip/ip_neighbor.h
488 ip/lookup.h
489 ip/ports.def
490 ip/protocols.def
491 ip/punt_error.def
492 ip/punt.h
493)
494
495list(APPEND VNET_API_FILES
496 ip/ip.api
497 ip/rd_cp.api
498 ip/punt.api
499)
500
Damjan Marion38173502019-02-13 19:30:09 +0100501list(APPEND VNET_MULTIARCH_SOURCES
502 ip/ip4_forward.c
503 ip/ip6_forward.c
504 ip/ip4_input.c
505)
Damjan Marion4553c952018-08-26 11:04:40 +0200506
507##############################################################################
508# Layer 2/3 ARP
509##############################################################################
510list(APPEND VNET_SOURCES
511 ethernet/arp.c
512)
513
514list(APPEND VNET_HEADERS
515 ethernet/arp_packet.h
516 ethernet/arp.h
517)
518
519##############################################################################
520# Bidirectional Forwarding Detection
521##############################################################################
522
523list(APPEND VNET_HEADERS
524 bfd/bfd_protocol.h
525 bfd/bfd_main.h
526 bfd/bfd_api.h
527 bfd/bfd_udp.h
528)
529
530list(APPEND VNET_SOURCES
531 bfd/bfd_api.h
532 bfd/bfd_udp.c
533 bfd/bfd_main.c
534 bfd/bfd_protocol.c
535 bfd/bfd_cli.c
536 bfd/bfd_api.c
537)
538
539list(APPEND VNET_API_FILES bfd/bfd.api)
540
541##############################################################################
Damjan Marion91f17dc2019-03-18 18:59:25 +0100542# Crypto
543##############################################################################
544
545list(APPEND VNET_SOURCES
546 crypto/cli.c
547 crypto/crypto.c
548 crypto/format.c
549)
550
551list(APPEND VNET_HEADERS
552 crypto/crypto.h
553)
554
555##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200556# Layer 3 protocol: IPSec
557##############################################################################
558list(APPEND VNET_SOURCES
559 ipsec/ipsec.c
560 ipsec/ipsec_cli.c
561 ipsec/ipsec_format.c
562 ipsec/ipsec_input.c
563 ipsec/ipsec_if.c
564 ipsec/ipsec_if_in.c
Neale Rannsb71fa752019-04-04 12:43:36 +0000565 ipsec/ipsec_punt.c
Neale Ranns999c8ee2019-02-01 03:31:24 -0800566 ipsec/ipsec_sa.c
567 ipsec/ipsec_spd.c
568 ipsec/ipsec_spd_policy.c
Damjan Marion4553c952018-08-26 11:04:40 +0200569 ipsec/esp_format.c
570 ipsec/esp_encrypt.c
571 ipsec/esp_decrypt.c
572 ipsec/ah_decrypt.c
573 ipsec/ah_encrypt.c
Damjan Marion4553c952018-08-26 11:04:40 +0200574 ipsec/ipsec_api.c
575)
576
Klement Sekerab8f35442018-10-29 13:38:19 +0100577list(APPEND VNET_MULTIARCH_SOURCES
578 ipsec/esp_encrypt.c
579 ipsec/esp_decrypt.c
580 ipsec/ah_decrypt.c
581 ipsec/ah_encrypt.c
Kingwel Xiec69ac312019-02-04 01:49:29 -0800582 ipsec/ipsec_if_in.c
583 ipsec/ipsec_output.c
584 ipsec/ipsec_input.c
Klement Sekerab8f35442018-10-29 13:38:19 +0100585)
586
Damjan Marion4553c952018-08-26 11:04:40 +0200587list(APPEND VNET_API_FILES ipsec/ipsec.api)
588
589list(APPEND VNET_SOURCES
590 ipsec/ipsec_output.c
591)
592
593list(APPEND VNET_HEADERS
594 ipsec/ipsec.h
Neale Ranns918c1612019-02-21 23:34:59 -0800595 ipsec/ipsec_spd.h
596 ipsec/ipsec_spd_policy.h
597 ipsec/ipsec_sa.h
598 ipsec/ipsec_if.h
Damjan Marion4553c952018-08-26 11:04:40 +0200599 ipsec/esp.h
600 ipsec/ah.h
Damjan Marion4553c952018-08-26 11:04:40 +0200601)
602
603##############################################################################
604# Layer 3 protocol: osi
605##############################################################################
606list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200607 osi/node.c
608 osi/osi.c
609 osi/pg.c
Damjan Marion4553c952018-08-26 11:04:40 +0200610)
611
612list(APPEND VNET_HEADERS
613 osi/osi.h
614)
615
616##############################################################################
617# Layer 4 protocol: tcp
618##############################################################################
619list(APPEND VNET_SOURCES
620 tcp/tcp_api.c
621 tcp/tcp_format.c
622 tcp/tcp_pg.c
623 tcp/tcp_syn_filter4.c
624 tcp/tcp_output.c
625 tcp/tcp_input.c
626 tcp/tcp_newreno.c
Florin Coras2e31cc32018-09-25 14:00:34 -0700627 tcp/tcp_cubic.c
Damjan Marion4553c952018-08-26 11:04:40 +0200628 tcp/tcp.c
629)
630
Filip Tehlare275bed2019-03-06 00:06:56 -0800631list(APPEND VNET_MULTIARCH_SOURCES
632 tcp/tcp_input.c
633 tcp/tcp_output.c
634 tcp/tcp_syn_filter4.c
635)
636
Damjan Marion4553c952018-08-26 11:04:40 +0200637list(APPEND VNET_HEADERS
638 tcp/tcp_packet.h
639 tcp/tcp_timer.h
640 tcp/tcp_debug.h
641 tcp/tcp.h
642 tcp/tcp_error.def
643)
644
645list(APPEND VNET_API_FILES tcp/tcp.api)
646
647##############################################################################
648# Layer 4 protocol: udp
649##############################################################################
650list(APPEND VNET_SOURCES
651 udp/udp.c
652 udp/udp_input.c
653 udp/udp_format.c
654 udp/udp_local.c
655 udp/udp_pg.c
656 udp/udp_encap_node.c
657 udp/udp_encap.c
658 udp/udp_api.c
659)
660
Filip Tehlar2c49ffe2019-03-06 07:16:08 -0800661list(APPEND VNET_MULTIARCH_SOURCES
662 udp/udp_local.c
663 udp/udp_encap_node.c
664)
665
Damjan Marion4553c952018-08-26 11:04:40 +0200666list(APPEND VNET_HEADERS
667 udp/udp_error.def
668 udp/udp.h
669 udp/udp_packet.h
670)
671
672list(APPEND VNET_API_FILES udp/udp.api)
673
674##############################################################################
675# Layer 4 protocol: sctp
676##############################################################################
677list(APPEND VNET_SOURCES
678 sctp/sctp_api.c
679 sctp/sctp.c
680 sctp/sctp_pg.c
681 sctp/sctp_input.c
682 sctp/sctp_output.c
Filip Tehlara5a458f2019-03-05 06:50:19 -0800683 sctp/sctp_output_node.c
Damjan Marion4553c952018-08-26 11:04:40 +0200684 sctp/sctp_format.c
685)
686
Filip Tehlara5a458f2019-03-05 06:50:19 -0800687list(APPEND VNET_MULTIARCH_SOURCES
688 sctp/sctp_output_node.c
689 sctp/sctp_input.c
690)
691
Damjan Marion4553c952018-08-26 11:04:40 +0200692list(APPEND VNET_HEADERS
693 sctp/sctp_error.def
694 sctp/sctp_packet.h
695 sctp/sctp_timer.h
696 sctp/sctp.h
697)
698
699list(APPEND VNET_API_FILES sctp/sctp.api)
700
701##############################################################################
702# Tunnel protocol: gre
703##############################################################################
704list(APPEND VNET_SOURCES
705 gre/gre.c
706 gre/node.c
707 gre/interface.c
708 gre/pg.c
709 gre/gre_api.c
710)
711
Filip Tehlar0fce11f2019-03-04 09:21:59 -0800712list(APPEND VNET_MULTIARCH_SOURCES
713 gre/node.c
714 gre/gre.c
715)
716
Damjan Marion4553c952018-08-26 11:04:40 +0200717list(APPEND VNET_HEADERS
718 gre/gre.h
719 gre/packet.h
720 gre/error.def
721)
722
723list(APPEND VNET_API_FILES gre/gre.api)
724
725##############################################################################
726# Tunnel protocol: ipip
727##############################################################################
728list(APPEND VNET_SOURCES
729 ipip/ipip.c
730 ipip/node.c
731 ipip/sixrd.c
732 ipip/ipip_api.c
733 ipip/ipip_cli.c
734)
735
Filip Tehlar7a542f42019-03-05 04:50:23 -0800736list(APPEND VNET_MULTIARCH_SOURCES
737 ipip/node.c
738)
739
Damjan Marion4553c952018-08-26 11:04:40 +0200740list(APPEND VNET_HEADERS
741 ipip/ipip.h
742)
743
744list(APPEND VNET_API_FILES ipip/ipip.api)
745
746##############################################################################
747# Tunnel protocol: l2tpv3
748##############################################################################
749list(APPEND VNET_SOURCES
750 l2tp/l2tp.c
751 l2tp/encap.c
752 l2tp/decap.c
753 l2tp/pg.c
754 l2tp/l2tp_api.c
755)
756
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700757list(APPEND VNET_MULTIARCH_SOURCES
758 l2tp/encap.c
759 l2tp/decap.c
760)
761
Damjan Marion4553c952018-08-26 11:04:40 +0200762list(APPEND VNET_HEADERS
763 l2tp/l2tp.h
764 l2tp/packet.h
765)
766
767list(APPEND VNET_API_FILES l2tp/l2tp.api)
768
769##############################################################################
770# Tunnel protocol: gre+mpls
771##############################################################################
772list(APPEND VNET_SOURCES
773 mpls/mpls.c
774 mpls/mpls_lookup.c
775 mpls/mpls_output.c
776 mpls/mpls_features.c
777 mpls/mpls_input.c
778 mpls/interface.c
779 mpls/mpls_tunnel.c
780 mpls/pg.c
781 mpls/mpls_api.c
782)
783
Filip Tehlar17fcd982019-03-05 04:32:11 -0800784list(APPEND VNET_MULTIARCH_SOURCES
785 mpls/mpls_output.c
786 mpls/mpls_input.c
787 mpls/mpls_lookup.c
788 mpls/mpls_features.c
789)
790
Damjan Marion4553c952018-08-26 11:04:40 +0200791list(APPEND VNET_HEADERS
792 mpls/mpls.h
793 mpls/mpls_types.h
794 mpls/mpls_tunnel.h
795 mpls/packet.h
796 mpls/error.def
797)
798
799list(APPEND VNET_API_FILES mpls/mpls.api)
800
801##############################################################################
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200802# Tunnel protocol: vxlan-gbp
803##############################################################################
804list(APPEND VNET_SOURCES
805 vxlan-gbp/decap.c
806 vxlan-gbp/encap.c
807 vxlan-gbp/vxlan_gbp_api.c
808 vxlan-gbp/vxlan_gbp.c
Neale Ranns93cc3ee2018-10-10 07:22:51 -0700809 vxlan-gbp/vxlan_gbp_packet.c
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200810)
811
Filip Tehlare1714d32019-03-05 03:01:43 -0800812list (APPEND VNET_MULTIARCH_SOURCES
813 vxlan-gbp/decap.c
814 vxlan-gbp/encap.c
815)
816
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200817list(APPEND VNET_HEADERS
818 vxlan-gbp/vxlan_gbp.h
819 vxlan-gbp/vxlan_gbp_packet.h
820 vxlan-gbp/vxlan_gbp_error.def
821)
822
823list(APPEND VNET_API_FILES vxlan-gbp/vxlan_gbp.api)
824
825##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200826# Tunnel protocol: vxlan-gpe
827##############################################################################
828
829list(APPEND VNET_SOURCES
830 vxlan-gpe/vxlan_gpe.c
831 vxlan-gpe/encap.c
832 vxlan-gpe/decap.c
833 vxlan-gpe/vxlan_gpe_api.c
834)
835
Filip Tehlare1714d32019-03-05 03:01:43 -0800836list (APPEND VNET_MULTIARCH_SOURCES
837 vxlan-gpe/decap.c
838)
839
Damjan Marion4553c952018-08-26 11:04:40 +0200840list(APPEND VNET_HEADERS
841 vxlan-gpe/vxlan_gpe.h
842 vxlan-gpe/vxlan_gpe_packet.h
843 vxlan-gpe/vxlan_gpe_error.def
844)
845
846list(APPEND VNET_API_FILES vxlan-gpe/vxlan_gpe.api)
847
848##############################################################################
849# Tunnel protocol: ipsec+gre
850##############################################################################
851list(APPEND VNET_SOURCES
852 ipsec-gre/ipsec_gre.c
853 ipsec-gre/node.c
854 ipsec-gre/interface.c
855 ipsec-gre/ipsec_gre_api.c
856)
857
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700858list(APPEND VNET_MULTIARCH_SOURCES
859 ipsec-gre/node.c
Filip Tehlaraee73642019-03-13 05:50:44 -0700860 ipsec-gre/ipsec_gre.c
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700861)
862
Damjan Marion4553c952018-08-26 11:04:40 +0200863list(APPEND VNET_HEADERS
864 ipsec-gre/ipsec_gre.h
865 ipsec-gre/error.def
866)
867
868list(APPEND VNET_API_FILES ipsec-gre/ipsec_gre.api)
869
870##############################################################################
871# LISP control plane: lisp-cp
872##############################################################################
873
874list(APPEND VNET_SOURCES
875 lisp-cp/lisp_types.c
876 lisp-cp/lisp_cp_dpo.c
877 lisp-cp/control.c
878 lisp-cp/gid_dictionary.c
879 lisp-cp/lisp_msg_serdes.c
880 lisp-cp/packets.c
881 lisp-cp/one_cli.c
882 lisp-cp/lisp_cli.c
883 lisp-cp/one_api.c
884 lisp-cp/lisp_api.c
885)
886
887list(APPEND VNET_HEADERS
888 lisp-cp/lisp_types.h
889 lisp-cp/packets.h
890 lisp-cp/gid_dictionary.h
891 lisp-cp/lisp_cp_messages.h
892 lisp-cp/lisp_msg_serdes.h
893 lisp-cp/control.h
894)
895
896list(APPEND VNET_API_FILES lisp-cp/lisp.api)
897list(APPEND VNET_API_FILES lisp-cp/one.api)
898
899##############################################################################
900# Tunnel protocol: lisp-gpe
901##############################################################################
902
903list(APPEND VNET_SOURCES
904 lisp-gpe/lisp_gpe.c
905 lisp-gpe/lisp_gpe_sub_interface.c
906 lisp-gpe/lisp_gpe_adjacency.c
907 lisp-gpe/lisp_gpe_tunnel.c
908 lisp-gpe/lisp_gpe_fwd_entry.c
909 lisp-gpe/lisp_gpe_tenant.c
910 lisp-gpe/interface.c
911 lisp-gpe/decap.c
912 lisp-gpe/lisp_gpe_api.c
913)
914
915list(APPEND VNET_HEADERS
916 lisp-gpe/lisp_gpe.h
917 lisp-gpe/lisp_gpe_fwd_entry.h
918 lisp-gpe/lisp_gpe_tenant.h
919 lisp-gpe/lisp_gpe_packet.h
920 lisp-gpe/lisp_gpe_error.def
921)
922
923list(APPEND VNET_API_FILES lisp-gpe/lisp_gpe.api)
924
925##############################################################################
926# DHCP client
927##############################################################################
928list(APPEND VNET_SOURCES
929 dhcp/client.c
930 dhcp/dhcp_client_detect.c
931 dhcp/dhcp6_client_common_dp.c
932 dhcp/dhcp6_pd_client_dp.c
933 dhcp/dhcp6_pd_client_cp.c
934 dhcp/dhcp6_ia_na_client_dp.c
935 dhcp/dhcp6_ia_na_client_cp.c
936 dhcp/dhcp_api.c
937)
938
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700939list(APPEND VNET_MULTIARCH_SOURCES
940 dhcp/dhcp_client_detect.c
941)
942
Damjan Marion4553c952018-08-26 11:04:40 +0200943list(APPEND VNET_HEADERS
944 dhcp/client.h
945 dhcp/dhcp6_client_common_dp.h
946 dhcp/dhcp6_pd_client_dp.h
947 dhcp/dhcp6_ia_na_client_dp.h
948)
949
950list(APPEND VNET_API_FILES
951 dhcp/dhcp.api
952 dhcp/dhcp6_pd_client_cp.api
953 dhcp/dhcp6_ia_na_client_cp.api
954)
955
956##############################################################################
957# DHCP proxy
958##############################################################################
959list(APPEND VNET_SOURCES
960 dhcp/dhcp6_proxy_node.c
961 dhcp/dhcp4_proxy_node.c
962 dhcp/dhcp_proxy.c
963)
964
965list(APPEND VNET_HEADERS
966 dhcp/dhcp4_packet.h
967 dhcp/dhcp6_packet.h
968 dhcp/dhcp_proxy.h
969 dhcp/dhcp6_proxy_error.def
970 dhcp/dhcp4_proxy_error.def
971)
972
973##############################################################################
974# ipv6 segment routing
975##############################################################################
976
977list(APPEND VNET_SOURCES
978 srv6/sr.c
979 srv6/sr_localsid.c
980 srv6/sr_policy_rewrite.c
981 srv6/sr_steering.c
982 srv6/sr_api.c
983)
984
985list(APPEND VNET_HEADERS
986 srv6/sr_packet.h
987 srv6/sr.h
988)
989
990list(APPEND VNET_API_FILES srv6/sr.api)
991
992##############################################################################
993# mpls segment routing
994##############################################################################
995
996list(APPEND VNET_SOURCES
997 srmpls/sr_mpls_policy.c
998 srmpls/sr_mpls_steering.c
999 srmpls/sr_mpls_api.c
1000)
1001
1002list(APPEND VNET_HEADERS
1003 srmpls/sr_mpls.h
1004)
1005
1006list(APPEND VNET_API_FILES srmpls/sr_mpls.api)
1007
1008##############################################################################
1009# IPFIX / netflow v10
1010##############################################################################
1011list(APPEND VNET_SOURCES
1012 ipfix-export/flow_report.c
1013 ipfix-export/flow_api.c
1014)
1015
1016list(APPEND VNET_HEADERS
1017 ipfix-export/flow_report.h
1018 ipfix-export/ipfix_info_elements.h
1019 ipfix-export/ipfix_packet.h
1020)
1021
1022list(APPEND VNET_API_FILES ipfix-export/ipfix_export.api)
1023
1024##############################################################################
1025# IPFIX classify code
1026##############################################################################
1027
1028list(APPEND VNET_SOURCES
1029 ipfix-export/flow_report_classify.c
1030)
1031
1032list(APPEND VNET_HEADERS
1033 ipfix-export/flow_report_classify.h
1034)
1035
1036##############################################################################
1037# lawful intercept
1038##############################################################################
1039
1040list(APPEND VNET_SOURCES
1041 lawful-intercept/lawful_intercept.c
1042 lawful-intercept/node.c
1043)
1044
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -07001045list(APPEND VNET_MULTIARCH_SOURCES
1046 lawful-intercept/node.c
1047)
1048
Damjan Marion4553c952018-08-26 11:04:40 +02001049list(APPEND VNET_HEADERS
1050 lawful-intercept/lawful_intercept.h
1051)
1052
1053##############################################################################
1054# SPAN (port mirroring)
1055##############################################################################
1056
1057list(APPEND VNET_SOURCES
1058 span/span_api.c
1059 span/span.c
1060 span/node.c
1061)
1062
Filip Tehlara79271f2019-03-05 03:46:40 -08001063list(APPEND VNET_MULTIARCH_SOURCES
1064 span/node.c
1065)
1066
Damjan Marion4553c952018-08-26 11:04:40 +02001067list(APPEND VNET_HEADERS
1068 span/span.h
1069)
1070
1071list(APPEND VNET_API_FILES span/span.api)
1072
1073##############################################################################
1074# DNS proxy, API
1075##############################################################################
1076list(APPEND VNET_SOURCES
1077 dns/dns.c
1078 dns/dns.h
1079 dns/dns_packet.h
1080 dns/reply_node.c
1081 dns/request_node.c
1082 dns/resolver_process.c
1083)
1084
1085list(APPEND VNET_HEADERS
1086 dns/dns.h
1087)
1088
1089list(APPEND VNET_API_FILES dns/dns.api)
1090
1091##############################################################################
1092# Packet generator
1093##############################################################################
1094
1095list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001096 pg/cli.c
1097 pg/edit.c
1098 pg/init.c
1099 pg/input.c
1100 pg/output.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001101 pg/stream.c
Damjan Marion4553c952018-08-26 11:04:40 +02001102 pg/pg_api.c
1103)
1104
1105list(APPEND VNET_HEADERS
1106 pg/pg.h
1107 pg/edit.h
1108)
1109
1110list(APPEND VNET_API_FILES pg/pg.api)
1111
1112##############################################################################
1113# virtio
1114##############################################################################
1115
1116list(APPEND VNET_SOURCES
1117 devices/virtio/device.c
1118 devices/virtio/node.c
1119 devices/virtio/vhost_user.c
1120 devices/virtio/vhost_user_input.c
1121 devices/virtio/vhost_user_output.c
1122 devices/virtio/vhost_user_api.c
1123 devices/virtio/virtio.c
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001124 devices/virtio/virtio_api.c
1125 devices/virtio/cli.c
1126 devices/virtio/pci.c
Damjan Marion4553c952018-08-26 11:04:40 +02001127)
1128
1129list(APPEND VNET_HEADERS
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001130 devices/virtio/pci.h
Damjan Marion4553c952018-08-26 11:04:40 +02001131 devices/virtio/virtio.h
1132 devices/virtio/vhost_user.h
1133)
1134
1135list(APPEND VNET_MULTIARCH_SOURCES
1136 devices/virtio/vhost_user_input.c
1137 devices/virtio/vhost_user_output.c
Filip Tehlar608996d2019-03-04 03:03:13 -08001138 devices/netmap/node.c
1139 devices/virtio/node.c
1140 devices/af_packet/node.c
Filip Tehlaraee73642019-03-13 05:50:44 -07001141 devices/virtio/device.c
Damjan Marion4553c952018-08-26 11:04:40 +02001142)
1143
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001144list(APPEND VNET_API_FILES
1145 devices/virtio/vhost_user.api
1146 devices/virtio/virtio.api
1147)
Damjan Marion4553c952018-08-26 11:04:40 +02001148
1149##############################################################################
1150# tap interface (with virtio backend)
1151##############################################################################
1152
1153list(APPEND VNET_SOURCES
1154 devices/tap/cli.c
1155 devices/tap/tap.c
1156 devices/tap/tapv2_api.c
1157)
1158
1159list(APPEND VNET_HEADERS
1160 devices/tap/tap.h
1161)
1162
1163list(APPEND VNET_API_FILES devices/tap/tapv2.api)
1164
1165##############################################################################
1166# tap interface (with virtio backend)
1167##############################################################################
1168
1169list(APPEND VNET_SOURCES
1170 devices/pipe/pipe_api.c
1171 devices/pipe/pipe.c
1172)
1173
1174list(APPEND VNET_HEADERS
1175 devices/pipe/pipe.h
1176)
1177
1178list(APPEND VNET_API_FILES devices/pipe/pipe.api)
1179
1180##############################################################################
1181# session managmeent
1182##############################################################################
1183
1184list(APPEND VNET_SOURCES
1185 session/session.c
1186 session/session_table.c
1187 session/session_rules_table.c
1188 session/session_lookup.c
1189 session/session_node.c
1190 session/transport.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001191 session/application.c
Florin Coras623eb562019-02-03 19:28:34 -08001192 session/application_worker.c
Damjan Marion4553c952018-08-26 11:04:40 +02001193 session/session_cli.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001194 session/application_interface.c
Florin Corasba7d8f52019-02-22 13:11:38 -08001195 session/application_local.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001196 session/application_namespace.c
Damjan Marion4553c952018-08-26 11:04:40 +02001197 session/segment_manager.c
Damjan Marion4553c952018-08-26 11:04:40 +02001198 session/session_api.c
1199)
1200
1201list(APPEND VNET_HEADERS
1202 session/session.h
1203 session/session_table.h
1204 session/session_rules_table.h
Florin Coras288eaab2019-02-03 15:26:14 -08001205 session/session_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001206 session/session_lookup.h
1207 session/application.h
1208 session/transport.h
Florin Coras1ee78302019-02-05 15:51:15 -08001209 session/transport_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001210 session/application_interface.h
Florin Corasba7d8f52019-02-22 13:11:38 -08001211 session/application_local.h
Damjan Marion4553c952018-08-26 11:04:40 +02001212 session/application_namespace.h
1213 session/session_debug.h
1214 session/segment_manager.h
1215 session/mma_template.h
1216 session/mma_template.c
1217 session/mma_16.h
1218 session/mma_40.h
1219)
1220
1221list(APPEND VNET_API_FILES session/session.api)
1222
1223##############################################################################
1224# session layer applications
1225##############################################################################
1226
1227list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001228 session-apps/echo_client.c
1229 session-apps/echo_server.c
1230 session-apps/http_server.c
1231 session-apps/proxy.c
Damjan Marion4553c952018-08-26 11:04:40 +02001232)
1233
1234list(APPEND VNET_HEADERS
1235 session-apps/echo_client.h
1236 session-apps/proxy.h
1237)
1238
1239##############################################################################
1240# TLS protocol
1241##############################################################################
1242
1243list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001244 tls/tls.c
Damjan Marion4553c952018-08-26 11:04:40 +02001245)
1246
1247list(APPEND VNET_HEADERS
1248 tls/tls.h
Florin Coras54a51fd2019-02-07 15:34:52 -08001249 tls/tls_test.h
Damjan Marion4553c952018-08-26 11:04:40 +02001250)
1251
1252##############################################################################
1253# Linux packet interface
1254##############################################################################
1255
1256list(APPEND VNET_SOURCES
1257 devices/af_packet/af_packet.c
1258 devices/af_packet/device.c
1259 devices/af_packet/node.c
1260 devices/af_packet/cli.c
1261 devices/af_packet/af_packet_api.c
1262)
1263
Filip Tehlaraee73642019-03-13 05:50:44 -07001264list(APPEND VNET_MULTIARCH_SOURCES
1265 devices/netmap/device.c
1266 devices/af_packet/device.c
1267)
1268
Damjan Marion4553c952018-08-26 11:04:40 +02001269list(APPEND VNET_HEADERS
1270 devices/af_packet/af_packet.h
1271)
1272
1273list(APPEND VNET_API_FILES devices/af_packet/af_packet.api)
1274
1275##############################################################################
1276# NETMAP interface
1277##############################################################################
1278
1279list(APPEND VNET_SOURCES
1280 devices/netmap/netmap.c
1281 devices/netmap/device.c
1282 devices/netmap/node.c
1283 devices/netmap/cli.c
1284 devices/netmap/netmap_api.c
1285)
1286
1287list(APPEND VNET_HEADERS
1288 devices/netmap/netmap.h
1289)
1290
1291list(APPEND VNET_API_FILES devices/netmap/netmap.api)
1292
1293##############################################################################
1294# Driver feature graph arc support
1295##############################################################################
1296
1297list(APPEND VNET_SOURCES
1298 feature/feature.c
1299 feature/feature_api.c
1300 feature/registration.c
1301)
1302
1303list(APPEND VNET_HEADERS
1304 feature/feature.h
1305)
1306
1307list(APPEND VNET_API_FILES feature/feature.api)
1308
1309##############################################################################
1310# Unix kernel related
1311##############################################################################
1312
1313# FIXME: unix/hgshm.c
1314
1315list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001316 unix/gdb_funcs.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001317 unix/tuntap.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001318)
1319
Damjan Marion4553c952018-08-26 11:04:40 +02001320list(APPEND VNET_HEADERS
Damjan Marion4553c952018-08-26 11:04:40 +02001321 unix/tuntap.h
Damjan Marion612dd6a2018-07-30 12:45:07 +02001322)
1323
Damjan Marion4553c952018-08-26 11:04:40 +02001324##############################################################################
1325# FIB
1326##############################################################################
1327
1328list(APPEND VNET_SOURCES
1329 fib/fib.c
Damjan Marion4553c952018-08-26 11:04:40 +02001330 fib/ip4_fib.c
1331 fib/ip6_fib.c
1332 fib/mpls_fib.c
1333 fib/fib_table.c
1334 fib/fib_walk.c
1335 fib/fib_types.c
1336 fib/fib_node.c
1337 fib/fib_node_list.c
1338 fib/fib_entry.c
1339 fib/fib_entry_src.c
1340 fib/fib_entry_src_rr.c
1341 fib/fib_entry_src_interface.c
1342 fib/fib_entry_src_interpose.c
1343 fib/fib_entry_src_default_route.c
1344 fib/fib_entry_src_special.c
1345 fib/fib_entry_src_api.c
1346 fib/fib_entry_src_adj.c
1347 fib/fib_entry_src_mpls.c
1348 fib/fib_entry_src_lisp.c
1349 fib/fib_entry_cover.c
1350 fib/fib_entry_delegate.c
1351 fib/fib_path_list.c
1352 fib/fib_path.c
1353 fib/fib_path_ext.c
1354 fib/fib_urpf_list.c
1355 fib/fib_attached_export.c
1356 fib/fib_api.c
1357 fib/fib_bfd.c
1358)
1359
1360list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001361 fib/fib.h
Damjan Marion4553c952018-08-26 11:04:40 +02001362 fib/fib_api.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001363 fib/ip4_fib.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001364 fib/ip6_fib.h
1365 fib/fib_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001366 fib/fib_table.h
1367 fib/fib_node.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001368 fib/fib_node_list.h
Damjan Marion4553c952018-08-26 11:04:40 +02001369 fib/fib_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001370 fib/fib_entry_delegate.h
Damjan Marion4553c952018-08-26 11:04:40 +02001371)
1372
1373##############################################################################
1374# ADJ
1375##############################################################################
1376
1377list(APPEND VNET_SOURCES
1378 adj/adj_nbr.c
1379 adj/adj_glean.c
1380 adj/adj_midchain.c
Neale Ranns4c3ba812019-03-26 07:02:58 +00001381 adj/adj_midchain_delegate.c
Damjan Marion4553c952018-08-26 11:04:40 +02001382 adj/adj_mcast.c
1383 adj/adj_l2.c
1384 adj/adj_nsh.c
1385 adj/adj.c
1386 adj/rewrite.c
1387 adj/adj_bfd.c
1388 adj/adj_delegate.c
1389)
1390
Filip Tehlar0b2c15d2019-03-04 02:52:54 -08001391list(APPEND VNET_MULTIARCH_SOURCES
1392 adj/adj_nsh.c
1393 adj/adj_l2.c
1394)
1395
Damjan Marion4553c952018-08-26 11:04:40 +02001396list(APPEND VNET_HEADERS
1397 adj/adj.h
1398 adj/adj_types.h
1399 adj/adj_glean.h
1400 adj/adj_nsh.h
1401 adj/adj_nbr.h
1402 adj/rewrite.h
1403)
1404
1405##############################################################################
1406# Data-Plane Objects
1407##############################################################################
1408
1409list(APPEND VNET_SOURCES
1410 dpo/dpo.c
1411 dpo/drop_dpo.c
1412 dpo/ip_null_dpo.c
1413 dpo/ip6_ll_dpo.c
1414 dpo/punt_dpo.c
1415 dpo/receive_dpo.c
1416 dpo/load_balance.c
1417 dpo/load_balance_map.c
1418 dpo/lookup_dpo.c
1419 dpo/classify_dpo.c
1420 dpo/replicate_dpo.c
1421 dpo/interface_rx_dpo.c
1422 dpo/interface_tx_dpo.c
1423 dpo/mpls_disposition.c
1424 dpo/mpls_label_dpo.c
1425 dpo/l3_proxy_dpo.c
1426 dpo/dvr_dpo.c
1427)
1428
Filip Tehlareb9a27f2019-03-07 01:42:11 -08001429list(APPEND VNET_MULTIARCH_SOURCES
1430 dpo/lookup_dpo.h
1431 dpo/mpls_disposition.c
1432 dpo/dvr_dpo.c
1433 dpo/mpls_label_dpo.c
1434 dpo/interface_rx_dpo.c
1435)
1436
Damjan Marion4553c952018-08-26 11:04:40 +02001437list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001438 dpo/load_balance.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001439 dpo/drop_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001440 dpo/lookup_dpo.h
1441 dpo/punt_dpo.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001442 dpo/classify_dpo.h
1443 dpo/receive_dpo.h
1444 dpo/ip_null_dpo.h
1445 dpo/replicate_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001446 dpo/dpo.h
1447)
1448
1449##############################################################################
1450# Multicast FIB
1451##############################################################################
1452
1453list(APPEND VNET_SOURCES
Damjan Marion4553c952018-08-26 11:04:40 +02001454 mfib/mfib_forward.c
1455 mfib/ip4_mfib.c
1456 mfib/ip6_mfib.c
1457 mfib/mfib_types.c
1458 mfib/mfib_signal.c
1459 mfib/mfib_itf.c
1460 mfib/mfib_entry.c
Neale Ranns9e829a82018-12-17 05:50:32 -08001461 mfib/mfib_entry.c
1462 mfib/mfib_entry_cover.c
1463 mfib/mfib_entry_delegate.c
1464 mfib/mfib_entry_src.c
1465 mfib/mfib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001466 mfib/mfib_table.c
1467)
1468
Filip Tehlar79c27eb2019-03-07 00:30:03 -08001469list(APPEND VNET_MULTIARCH_SOURCES
1470 mfib/mfib_forward.c
1471)
1472
Damjan Marion4553c952018-08-26 11:04:40 +02001473list(APPEND VNET_HEADERS
1474 mfib/ip4_mfib.h
1475 mfib/mfib_types.h
1476 mfib/mfib_table.h
1477)
1478
1479##############################################################################
1480# Utilities
1481##############################################################################
1482
1483list(APPEND VNET_SOURCES
1484 util/radix.c
1485 util/refcount.c
Neale Rannsc8352bc2018-08-29 10:23:58 -07001486 util/throttle.c
Damjan Marion4553c952018-08-26 11:04:40 +02001487 util/trajectory.c
1488)
1489
Damjan Marionac5554c2018-08-30 22:56:59 +02001490list(APPEND VNET_HEADERS
1491 util/throttle.h
1492)
1493
Damjan Marion4553c952018-08-26 11:04:40 +02001494##############################################################################
1495# QoS
1496##############################################################################
1497
1498list(APPEND VNET_SOURCES
1499 qos/qos_types.c
1500 qos/qos_api.c
1501 qos/qos_egress_map.c
1502 qos/qos_record.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001503 qos/qos_record_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001504 qos/qos_mark.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001505 qos/qos_mark_node.c
1506)
1507
1508list(APPEND VNET_MULTIARCH_SOURCES
1509 qos/qos_record_node.c
1510 qos/qos_mark_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001511)
1512
1513list(APPEND VNET_API_FILES qos/qos.api)
1514
1515##############################################################################
1516# BIER
1517##############################################################################
1518
1519list(APPEND VNET_SOURCES
1520 bier/bier_bit_string.c
1521 bier/bier_entry.c
1522 bier/bier_fmask.c
1523 bier/bier_fmask_db.c
1524 bier/bier_input.c
1525 bier/bier_lookup.c
1526 bier/bier_output.c
1527 bier/bier_table.c
1528 bier/bier_types.c
Damjan Marion4553c952018-08-26 11:04:40 +02001529 bier/bier_api.c
1530 bier/bier_drop.c
1531 bier/bier_update.c
1532 bier/bier_imp_node.c
1533 bier/bier_imp.c
1534 bier/bier_disp_entry.c
1535 bier/bier_disp_lookup_node.c
1536 bier/bier_disp_dispatch_node.c
1537 bier/bier_disp_table.c
1538 bier/bier_bift_table.c
1539)
1540
Filip Tehlara01e0322019-03-05 03:34:52 -08001541list(APPEND VNET_MULTIARCH_SOURCES
1542 bier/bier_disp_dispatch_node.c
1543 bier/bier_disp_lookup_node.c
1544 bier/bier_imp_node.c
1545)
1546
Damjan Marion4553c952018-08-26 11:04:40 +02001547list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001548 bier/bier_types.h
1549 bier/bier_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001550 bier/bier_update.h
Damjan Marion4553c952018-08-26 11:04:40 +02001551 bier/bier_table.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001552)
1553
Damjan Marion4553c952018-08-26 11:04:40 +02001554list(APPEND VNET_API_FILES bier/bier.api)
Damjan Marion612dd6a2018-07-30 12:45:07 +02001555
Florin Coras41c9e042018-09-11 00:10:41 -07001556##############################################################################
Matus Fabianb4515b42018-11-19 04:25:32 -08001557# SYSLOG
1558##############################################################################
1559
1560list (APPEND VNET_SOURCES
1561 syslog/syslog_api.c
1562 syslog/syslog_udp.c
1563 syslog/syslog.c
1564)
1565
1566list(APPEND VNET_HEADERS
1567 syslog/syslog_udp.h
1568 syslog/syslog.h
1569)
1570
1571list(APPEND VNET_API_FILES syslog/syslog.api)
1572
1573##############################################################################
Florin Coras41c9e042018-09-11 00:10:41 -07001574# VNET Library
1575##############################################################################
1576
Damjan Marion4553c952018-08-26 11:04:40 +02001577add_vpp_library(vnet
1578 SOURCES ${VNET_SOURCES}
1579 MULTIARCH_SOURCES ${VNET_MULTIARCH_SOURCES}
1580 INSTALL_HEADERS ${VNET_HEADERS}
1581 API_FILES ${VNET_API_FILES}
1582 LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES}
1583 DEPENDS api_headers
Damjan Marion612dd6a2018-07-30 12:45:07 +02001584)
Florin Coras41c9e042018-09-11 00:10:41 -07001585
1586##############################################################################
1587# Session echo apps
1588##############################################################################
1589
1590option(VPP_BUILD_SESSION_ECHO_APPS "Build session echo apps." ON)
1591if(VPP_BUILD_SESSION_ECHO_APPS)
1592 add_vpp_executable(tcp_echo
1593 SOURCES ../tests/vnet/session/tcp_echo.c
1594 LINK_LIBRARIES vlibmemoryclient svm vppinfra pthread m rt
1595 DEPENDS api_headers
1596 NO_INSTALL
1597 )
Nathan Skrzypczak60f3e652019-03-19 13:57:31 +01001598 add_vpp_executable(quic_echo
1599 SOURCES ../tests/vnet/session/quic_echo.c
1600 LINK_LIBRARIES vlibmemoryclient svm vppinfra pthread m rt
1601 DEPENDS api_headers
1602 NO_INSTALL
1603 )
Florin Coras41c9e042018-09-11 00:10:41 -07001604 add_vpp_executable(udp_echo
1605 SOURCES ../tests/vnet/session/udp_echo.c
1606 LINK_LIBRARIES vlibmemoryclient svm vppinfra pthread m rt
1607 DEPENDS api_headers
1608 NO_INSTALL
1609 )
1610endif(VPP_BUILD_SESSION_ECHO_APPS)
1611
Neale Rannsc25eb452018-09-12 06:53:03 -04001612##############################################################################