blob: bd1b75b54a106045c682bb72666d06301f35ff0c [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
Dave Barach1bd2c012020-04-12 08:31:39 -040059 interface_output.h
Damjan Marion4553c952018-08-26 11:04:40 +020060 ip/ip4_to_ip6.h
61 ip/ip6_to_ip4.h
Benoît Ganne09267f72019-05-17 14:24:17 +020062 ip/ip_types_api.h
Damjan Marion4553c952018-08-26 11:04:40 +020063 l3_types.h
64 plugin/plugin.h
65 pipeline.h
Damjan Marion4553c952018-08-26 11:04:40 +020066 vnet.h
67 vnet_all_api_h.h
68 vnet_msg_enum.h
69 util/radix.h
70 util/refcount.h
IJsbrand Wijnands724c8052020-03-05 11:29:23 -080071 format_fns.h
72 ip/ip_format_fns.h
73 ethernet/ethernet_format_fns.h
Damjan Marion4553c952018-08-26 11:04:40 +020074)
75
Benoît Ganne09267f72019-05-17 14:24:17 +020076list(APPEND VNET_API_FILES
77 interface.api
Benoît Ganned39495d2019-07-25 14:14:03 +020078 interface_types.api
Benoît Ganne09267f72019-05-17 14:24:17 +020079 ip/ip_types.api
80)
Damjan Marion4553c952018-08-26 11:04:40 +020081
82##############################################################################
83# Policer infra
84##############################################################################
85list(APPEND VNET_SOURCES
86 policer/node_funcs.c
87 policer/policer.c
88 policer/xlate.c
89 policer/policer_api.c
90)
91
Filip Tehlar30d93482019-03-06 04:28:32 -080092list(APPEND VNET_MULTIARCH_SOURCES
93 policer/node_funcs.c
94)
95
Damjan Marion4553c952018-08-26 11:04:40 +020096list(APPEND VNET_HEADERS
97 policer/police.h
98 policer/policer.h
99 policer/xlate.h
100)
101
Jakub Grajciarcd01fb42020-03-02 13:16:53 +0100102list(APPEND VNET_API_FILES
103 policer/policer.api
104 policer/policer_types.api
105)
Damjan Marion4553c952018-08-26 11:04:40 +0200106
107##############################################################################
108# Cop - junk filter
109##############################################################################
110list(APPEND VNET_SOURCES
111 cop/cop.c
112 cop/node1.c
113 cop/ip4_whitelist.c
114 cop/ip6_whitelist.c
115 cop/cop_api.c
116)
117
Filip Tehlar1fc33b32019-03-05 01:22:04 -0800118list(APPEND VNET_MULTIARCH_SOURCES
119 cop/node1.c
120 cop/ip4_whitelist.c
121 cop/ip6_whitelist.c
122)
123
Damjan Marion4553c952018-08-26 11:04:40 +0200124list(APPEND VNET_HEADERS
125 cop/cop.h
126)
127
128list(APPEND VNET_API_FILES cop/cop.api)
129
130##############################################################################
131# Layer 2 protocols go here
132##############################################################################
133
134##############################################################################
135# Layer 2 protocol: Ethernet
136##############################################################################
137list(APPEND VNET_SOURCES
Neale Rannscbe25aa2019-09-30 10:53:31 +0000138 ethernet/arp_packet.c
Neale Rannsde5b08f2018-08-29 06:37:18 -0700139 ethernet/ethernet_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +0200140 ethernet/format.c
141 ethernet/init.c
142 ethernet/interface.c
Neale Rannsde5b08f2018-08-29 06:37:18 -0700143 ethernet/mac_address.c
Damjan Marion4553c952018-08-26 11:04:40 +0200144 ethernet/node.c
145 ethernet/pg.c
146 ethernet/sfp.c
147 ethernet/p2p_ethernet.c
148 ethernet/p2p_ethernet_input.c
149 ethernet/p2p_ethernet_api.c
150)
151
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700152list(APPEND VNET_MULTIARCH_SOURCES
153 ethernet/node.c
154 ethernet/p2p_ethernet_input.c
155)
Damjan Marion4553c952018-08-26 11:04:40 +0200156
157list(APPEND VNET_HEADERS
158 ethernet/error.def
159 ethernet/ethernet.h
Jon Loeliger330bf932018-11-28 13:51:42 -0600160 ethernet/mac_address.h
Damjan Marion4553c952018-08-26 11:04:40 +0200161 ethernet/packet.h
162 ethernet/types.def
163 ethernet/sfp.h
164 ethernet/p2p_ethernet.h
Neale Rannscbe25aa2019-09-30 10:53:31 +0000165 ethernet/arp_packet.h
Damjan Marion4553c952018-08-26 11:04:40 +0200166)
167
Benoît Ganned39495d2019-07-25 14:14:03 +0200168list(APPEND VNET_API_FILES
169 ethernet/p2p_ethernet.api
170 ethernet/ethernet_types.api)
Damjan Marion4553c952018-08-26 11:04:40 +0200171
172##############################################################################
173# Layer 2 protocol: Ethernet bridging
174##############################################################################
175list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200176 l2/feat_bitmap.c
177 l2/l2_api.c
Neale Rannscbe25aa2019-09-30 10:53:31 +0000178 l2/l2_arp_term.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200179 l2/l2_bd.c
180 l2/l2_bvi.c
Neale Ranns192b13f2019-03-15 02:16:20 -0700181 l2/l2_bvi_node.c
Damjan Marion4553c952018-08-26 11:04:40 +0200182 l2/l2_input_classify.c
183 l2/l2_output_classify.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200184 l2/l2_efp_filter.c
185 l2/l2_fib.c
186 l2/l2_flood.c
187 l2/l2_fwd.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200188 l2/l2_input.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200189 l2/l2_input_vtr.c
190 l2/l2_learn.c
191 l2/l2_output.c
Damjan Marion4553c952018-08-26 11:04:40 +0200192 l2/l2_in_out_acl.c
Andrew Yourtchenkoa23cade2018-10-06 09:18:00 +0200193 l2/l2_in_out_feat_arc.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200194 l2/l2_patch.c
195 l2/l2_rw.c
Neale Rannsb4743802018-09-05 09:13:57 -0700196 l2/l2_uu_fwd.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200197 l2/l2_vtr.c
198 l2/l2_xcrw.c
Damjan Marion4553c952018-08-26 11:04:40 +0200199)
200
Neale Rannsc25eb452018-09-12 06:53:03 -0400201list(APPEND VNET_MULTIARCH_SOURCES
Neale Ranns192b13f2019-03-15 02:16:20 -0700202 l2/l2_bvi_node.c
Neale Rannsc25eb452018-09-12 06:53:03 -0400203 l2/l2_fwd.c
204 l2/l2_learn.c
205 l2/l2_output.c
Damjan Marionc3baf622018-11-06 13:33:27 +0100206 l2/l2_patch.c
Filip Tehlar44f0f712019-03-11 04:26:37 -0700207 l2/l2_in_out_feat_arc.c
208 l2/l2_input_classify.c
209 l2/l2_input.c
210 l2/l2_output_classify.c
211 l2/l2_flood.c
212 l2/l2_uu_fwd.c
213 l2/l2_efp_filter.c
214 l2/l2_rw.c
215 l2/l2_xcrw.c
216 l2/l2_in_out_acl.c
217 l2/l2_input_vtr.c
Neale Rannsc25eb452018-09-12 06:53:03 -0400218)
Neale Rannseb1525f2018-09-09 04:41:02 -0400219
Damjan Marion4553c952018-08-26 11:04:40 +0200220list(APPEND VNET_HEADERS
221 l2/feat_bitmap.h
222 l2/l2_input.h
223 l2/l2_output.h
224 l2/l2_vtr.h
225 l2/l2_input_vtr.h
226 l2/l2_efp_filter.h
227 l2/l2_fwd.h
228 l2/l2_bd.h
229 l2/l2_bvi.h
230 l2/l2_flood.h
231 l2/l2_fib.h
232 l2/l2_rw.h
233 l2/l2_xcrw.h
234 l2/l2_classify.h
235)
236
237list(APPEND VNET_API_FILES l2/l2.api)
238
239##############################################################################
240# Layer 2 protocol: SRP
241##############################################################################
242list(APPEND VNET_SOURCES
243 srp/format.c
244 srp/interface.c
245 srp/node.c
246 srp/pg.c
247)
248
249list(APPEND VNET_HEADERS
250 srp/packet.h
251 srp/srp.h
252)
253
254##############################################################################
255# Layer 2 protocol: PPP
256##############################################################################
257list(APPEND VNET_SOURCES
258 ppp/node.c
259 ppp/pg.c
260 ppp/ppp.c
261)
262
263list(APPEND VNET_HEADERS
264 ppp/error.def
265 ppp/ppp.h
266 ppp/packet.h
267)
268
269##############################################################################
270# Layer 2 protocol: HDLC
271##############################################################################
272list(APPEND VNET_SOURCES
273 hdlc/node.c
274 hdlc/pg.c
275 hdlc/hdlc.c
276)
277
278list(APPEND VNET_HEADERS
279 hdlc/error.def
280 hdlc/hdlc.h
281 hdlc/packet.h
282)
283
284##############################################################################
285# Layer 2 protocol: LLC
286##############################################################################
287list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200288 llc/llc.c
289 llc/node.c
290 llc/pg.c
Damjan Marion4553c952018-08-26 11:04:40 +0200291)
292
293list(APPEND VNET_HEADERS
294 llc/llc.h
295)
296
297##############################################################################
298# Layer 2 protocol: SNAP
299##############################################################################
300list(APPEND VNET_SOURCES
301 snap/snap.c
302 snap/node.c
303 snap/pg.c
304)
305
306list(APPEND VNET_HEADERS
307 snap/snap.h
308)
309
310##############################################################################
311# Layer 2 / vxlan
312##############################################################################
313list(APPEND VNET_SOURCES
314 vxlan/vxlan.c
315 vxlan/encap.c
316 vxlan/decap.c
317 vxlan/vxlan_api.c
318)
319
Filip Tehlare1714d32019-03-05 03:01:43 -0800320list(APPEND VNET_MULTIARCH_SOURCES
321 vxlan/encap.c
322)
323
Damjan Marion4553c952018-08-26 11:04:40 +0200324list(APPEND VNET_HEADERS
325 vxlan/vxlan.h
326 vxlan/vxlan_packet.h
327 vxlan/vxlan_error.def
328)
329
Eyal Baria5679e82018-08-26 15:20:07 +0300330list(APPEND VNET_MULTIARCH_SOURCES vxlan/decap.c)
331
Damjan Marion4553c952018-08-26 11:04:40 +0200332list(APPEND VNET_API_FILES vxlan/vxlan.api)
333
334##############################################################################
335# Layer 2 / Geneve
336##############################################################################
337list(APPEND VNET_SOURCES
338 geneve/geneve.c
339 geneve/encap.c
340 geneve/decap.c
341 geneve/geneve_api.c
342)
343
Filip Tehlar55333d72019-03-05 00:36:04 -0800344list(APPEND VNET_MULTIARCH_SOURCES
345 geneve/encap.c
346 geneve/decap.c
347)
348
Damjan Marion4553c952018-08-26 11:04:40 +0200349list(APPEND VNET_HEADERS
350 geneve/geneve.h
351 geneve/geneve_packet.h
352 geneve/geneve_error.def
353)
354
355list(APPEND VNET_API_FILES geneve/geneve.api)
356
357##############################################################################
358# Layer 2 / Bonding
359##############################################################################
360list(APPEND VNET_SOURCES
361 bonding/cli.c
362 bonding/node.c
363 bonding/device.c
364 bonding/bond_api.c
365)
366
367list(APPEND VNET_HEADERS
368 bonding/node.h
369)
370
Damjan Marioncefe1342018-09-21 18:11:33 +0200371list(APPEND VNET_MULTIARCH_SOURCES bonding/node.c bonding/device.c)
Damjan Marion4553c952018-08-26 11:04:40 +0200372list(APPEND VNET_API_FILES bonding/bond.api)
373
374##############################################################################
375# Layer 2 / LLDP
376##############################################################################
377list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200378 lldp/lldp_input.c
379 lldp/lldp_node.c
380 lldp/lldp_output.c
Damjan Marion4553c952018-08-26 11:04:40 +0200381 lldp/lldp_cli.c
382 lldp/lldp_api.c
383)
384
385list(APPEND VNET_HEADERS
386 lldp/lldp_protocol.h
387 lldp/lldp.h
388)
389
390list(APPEND VNET_API_FILES lldp/lldp.api)
391
392##############################################################################
393# Layer 2/3 "classify"
394##############################################################################
395list(APPEND VNET_SOURCES
396 classify/vnet_classify.c
Dave Barach9137e542019-09-13 17:47:50 -0400397 classify/trace_classify.h
Damjan Marion4553c952018-08-26 11:04:40 +0200398 classify/ip_classify.c
399 classify/in_out_acl.c
400 classify/policer_classify.c
401 classify/flow_classify.c
402 classify/flow_classify_node.c
403 classify/vnet_classify.h
404 classify/classify_api.c
405)
406
Filip Tehlare8cb5212019-03-06 04:50:34 -0800407list(APPEND VNET_MULTIARCH_SOURCES
408 classify/ip_classify.c
409 classify/flow_classify_node.c
410)
411
Damjan Marion4553c952018-08-26 11:04:40 +0200412list(APPEND VNET_HEADERS
413 classify/vnet_classify.h
Dave Barach9137e542019-09-13 17:47:50 -0400414 classify/trace_classify.h
Damjan Marion4553c952018-08-26 11:04:40 +0200415 classify/in_out_acl.h
416 classify/policer_classify.h
417 classify/flow_classify.h
418)
419
420list(APPEND VNET_API_FILES classify/classify.api)
421
422##############################################################################
423# Layer 3 protocols go here
424##############################################################################
425
426##############################################################################
427# Layer 3 protocol: IP v4/v6
428##############################################################################
429list(APPEND VNET_SOURCES
430 ip/format.c
431 ip/icmp4.c
432 ip/icmp6.c
433 ip/ip46_cli.c
434 ip/ip_types_api.c
Neale Rannscbe25aa2019-09-30 10:53:31 +0000435 ip/ip46_address.c
Damjan Marion4553c952018-08-26 11:04:40 +0200436 ip/ip4_format.c
437 ip/ip4_forward.c
438 ip/ip4_punt_drop.c
439 ip/ip4_input.c
440 ip/ip4_options.c
441 ip/ip4_mtrie.c
442 ip/ip4_pg.c
443 ip/ip4_source_and_port_range_check.c
Klement Sekera896c8962019-06-24 11:52:49 +0000444 ip/reass/ip4_full_reass.c
Klement Sekerade34c352019-06-25 11:19:22 +0000445 ip/reass/ip4_sv_reass.c
Damjan Marion4553c952018-08-26 11:04:40 +0200446 ip/ip6_format.c
447 ip/ip6_forward.c
448 ip/ip6_ll_table.c
449 ip/ip6_ll_types.c
450 ip/ip6_punt_drop.c
451 ip/ip6_hop_by_hop.c
452 ip/ip6_input.c
Neale Rannscbe25aa2019-09-30 10:53:31 +0000453 ip/ip6_link.c
Damjan Marion4553c952018-08-26 11:04:40 +0200454 ip/ip6_pg.c
Klement Sekera896c8962019-06-24 11:52:49 +0000455 ip/reass/ip6_full_reass.c
Klement Sekerade34c352019-06-25 11:19:22 +0000456 ip/reass/ip6_sv_reass.c
Damjan Marion4553c952018-08-26 11:04:40 +0200457 ip/ip_api.c
458 ip/ip_checksum.c
459 ip/ip_frag.c
460 ip/ip.c
Neale Ranns59f71132020-04-08 12:19:38 +0000461 ip/ip_interface.c
Damjan Marion4553c952018-08-26 11:04:40 +0200462 ip/ip_init.c
463 ip/ip_in_out_acl.c
Neale Ranns92207752019-06-03 13:21:40 +0000464 ip/ip_punt_drop.c
Neale Rannsea93e482019-11-12 17:16:47 +0000465 ip/ip_types.c
Damjan Marion4553c952018-08-26 11:04:40 +0200466 ip/lookup.c
Damjan Marion4553c952018-08-26 11:04:40 +0200467 ip/punt_api.c
468 ip/punt.c
Neale Ranns50f0ac02019-05-15 02:13:37 -0700469 ip/punt_node.c
Nick Zavaritsky27518c22020-02-27 15:54:58 +0000470 ip/vtep.c
Damjan Marion4553c952018-08-26 11:04:40 +0200471)
472
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700473list(APPEND VNET_MULTIARCH_SOURCES
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700474 ip/ip4_punt_drop.c
Klement Sekera896c8962019-06-24 11:52:49 +0000475 ip/reass/ip4_full_reass.c
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700476 ip/ip6_hop_by_hop.c
Klement Sekera896c8962019-06-24 11:52:49 +0000477 ip/reass/ip6_full_reass.c
Klement Sekerade34c352019-06-25 11:19:22 +0000478 ip/reass/ip4_sv_reass.c
479 ip/ip6_hop_by_hop.c
480 ip/reass/ip6_full_reass.c
481 ip/reass/ip6_sv_reass.c
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700482 ip/ip6_input.c
483 ip/ip6_punt_drop.c
Neale Ranns50f0ac02019-05-15 02:13:37 -0700484 ip/punt_node.c
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700485 ip/ip_in_out_acl.c
486)
487
Damjan Marion4553c952018-08-26 11:04:40 +0200488list(APPEND VNET_HEADERS
489 ip/format.h
490 ip/icmp46_packet.h
491 ip/icmp4.h
492 ip/icmp6.h
493 ip/igmp_packet.h
494 ip/ip4_error.h
495 ip/ip4.h
496 ip/ip4_mtrie.h
497 ip/ip4_packet.h
Neale Rannscbe25aa2019-09-30 10:53:31 +0000498 ip/ip46_address.h
Damjan Marion4553c952018-08-26 11:04:40 +0200499 ip/ip6_error.h
500 ip/ip6.h
501 ip/ip6_hop_by_hop.h
502 ip/ip6_hop_by_hop_packet.h
503 ip/ip6_packet.h
Damjan Marion4553c952018-08-26 11:04:40 +0200504 ip/ip.h
Neale Ranns59f71132020-04-08 12:19:38 +0000505 ip/ip_interface.h
Damjan Marion4553c952018-08-26 11:04:40 +0200506 ip/ip_packet.h
507 ip/ip_source_and_port_range_check.h
Neale Rannsea93e482019-11-12 17:16:47 +0000508 ip/ip_types.h
Damjan Marion4553c952018-08-26 11:04:40 +0200509 ip/lookup.h
510 ip/ports.def
511 ip/protocols.def
512 ip/punt_error.def
513 ip/punt.h
514)
515
516list(APPEND VNET_API_FILES
517 ip/ip.api
Damjan Marion4553c952018-08-26 11:04:40 +0200518 ip/punt.api
519)
520
Damjan Marion38173502019-02-13 19:30:09 +0100521list(APPEND VNET_MULTIARCH_SOURCES
522 ip/ip4_forward.c
523 ip/ip6_forward.c
524 ip/ip4_input.c
525)
Damjan Marion4553c952018-08-26 11:04:40 +0200526
527##############################################################################
Neale Rannscbe25aa2019-09-30 10:53:31 +0000528# Layer 3 neighbours
Damjan Marion4553c952018-08-26 11:04:40 +0200529##############################################################################
530list(APPEND VNET_SOURCES
Neale Rannscbe25aa2019-09-30 10:53:31 +0000531 ip-neighbor/ip_neighbor.c
532 ip-neighbor/ip_neighbor_api.c
533 ip-neighbor/ip_neighbor_dp.c
534 ip-neighbor/ip_neighbor_types.c
535 ip-neighbor/ip_neighbor_watch.c
536 ip-neighbor/ip4_neighbor.c
537 ip-neighbor/ip6_neighbor.c
Damjan Marion4553c952018-08-26 11:04:40 +0200538)
539
540list(APPEND VNET_HEADERS
Neale Rannscbe25aa2019-09-30 10:53:31 +0000541 ip-neighbor/ip_neighbor.h
542 ip-neighbor/ip_neighbor_types.h
543)
544
545list(APPEND VNET_API_FILES
546 ip-neighbor/ip_neighbor.api
Damjan Marion4553c952018-08-26 11:04:40 +0200547)
548
549##############################################################################
550# Bidirectional Forwarding Detection
551##############################################################################
552
553list(APPEND VNET_HEADERS
554 bfd/bfd_protocol.h
555 bfd/bfd_main.h
556 bfd/bfd_api.h
557 bfd/bfd_udp.h
558)
559
560list(APPEND VNET_SOURCES
561 bfd/bfd_api.h
562 bfd/bfd_udp.c
563 bfd/bfd_main.c
564 bfd/bfd_protocol.c
565 bfd/bfd_cli.c
566 bfd/bfd_api.c
567)
568
569list(APPEND VNET_API_FILES bfd/bfd.api)
570
571##############################################################################
Damjan Marion91f17dc2019-03-18 18:59:25 +0100572# Crypto
573##############################################################################
574
575list(APPEND VNET_SOURCES
576 crypto/cli.c
577 crypto/crypto.c
578 crypto/format.c
Fan Zhangf5395782020-04-29 14:00:03 +0100579 crypto/node.c
Damjan Marion91f17dc2019-03-18 18:59:25 +0100580)
581
582list(APPEND VNET_HEADERS
583 crypto/crypto.h
584)
585
Fan Zhangf5395782020-04-29 14:00:03 +0100586list(APPEND VNET_MULTIARCH_SOURCES crypto/node.c)
587
Damjan Marion91f17dc2019-03-18 18:59:25 +0100588##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200589# Layer 3 protocol: IPSec
590##############################################################################
591list(APPEND VNET_SOURCES
592 ipsec/ipsec.c
593 ipsec/ipsec_cli.c
594 ipsec/ipsec_format.c
Neale Rannsf62a8c02019-04-02 08:13:33 +0000595 ipsec/ipsec_handoff.c
Damjan Marion4553c952018-08-26 11:04:40 +0200596 ipsec/ipsec_input.c
Neale Rannsb71fa752019-04-04 12:43:36 +0000597 ipsec/ipsec_punt.c
Neale Ranns999c8ee2019-02-01 03:31:24 -0800598 ipsec/ipsec_sa.c
599 ipsec/ipsec_spd.c
600 ipsec/ipsec_spd_policy.c
Neale Rannsc87b66c2019-02-07 07:26:12 -0800601 ipsec/ipsec_tun.c
602 ipsec/ipsec_tun_in.c
Damjan Marion4553c952018-08-26 11:04:40 +0200603 ipsec/esp_format.c
604 ipsec/esp_encrypt.c
605 ipsec/esp_decrypt.c
606 ipsec/ah_decrypt.c
607 ipsec/ah_encrypt.c
Damjan Marion4553c952018-08-26 11:04:40 +0200608 ipsec/ipsec_api.c
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530609 ipsec/ipsec_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +0200610)
611
Klement Sekerab8f35442018-10-29 13:38:19 +0100612list(APPEND VNET_MULTIARCH_SOURCES
613 ipsec/esp_encrypt.c
614 ipsec/esp_decrypt.c
615 ipsec/ah_decrypt.c
616 ipsec/ah_encrypt.c
Neale Rannsf62a8c02019-04-02 08:13:33 +0000617 ipsec/ipsec_handoff.c
Kingwel Xiec69ac312019-02-04 01:49:29 -0800618 ipsec/ipsec_output.c
619 ipsec/ipsec_input.c
Neale Rannsc87b66c2019-02-07 07:26:12 -0800620 ipsec/ipsec_tun_in.c
Klement Sekerab8f35442018-10-29 13:38:19 +0100621)
622
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530623list(APPEND VNET_API_FILES ipsec/ipsec_types.api)
Damjan Marion4553c952018-08-26 11:04:40 +0200624list(APPEND VNET_API_FILES ipsec/ipsec.api)
625
626list(APPEND VNET_SOURCES
627 ipsec/ipsec_output.c
628)
629
630list(APPEND VNET_HEADERS
631 ipsec/ipsec.h
Neale Ranns918c1612019-02-21 23:34:59 -0800632 ipsec/ipsec_spd.h
633 ipsec/ipsec_spd_policy.h
634 ipsec/ipsec_sa.h
Neale Ranns12989b52019-09-26 16:20:19 +0000635 ipsec/ipsec_tun.h
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530636 ipsec/ipsec_types_api.h
Neale Rannsba05e5d2019-06-07 05:17:07 -0700637 ipsec/ipsec_punt.h
Damjan Marion4553c952018-08-26 11:04:40 +0200638 ipsec/esp.h
639 ipsec/ah.h
Damjan Marion4553c952018-08-26 11:04:40 +0200640)
641
642##############################################################################
643# Layer 3 protocol: osi
644##############################################################################
645list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200646 osi/node.c
647 osi/osi.c
648 osi/pg.c
Damjan Marion4553c952018-08-26 11:04:40 +0200649)
650
651list(APPEND VNET_HEADERS
652 osi/osi.h
653)
654
655##############################################################################
656# Layer 4 protocol: tcp
657##############################################################################
658list(APPEND VNET_SOURCES
659 tcp/tcp_api.c
660 tcp/tcp_format.c
661 tcp/tcp_pg.c
662 tcp/tcp_syn_filter4.c
663 tcp/tcp_output.c
664 tcp/tcp_input.c
665 tcp/tcp_newreno.c
Florin Coras52814732019-06-12 15:38:19 -0700666 tcp/tcp_bt.c
Florin Coras999840c2020-03-18 20:31:34 +0000667 tcp/tcp_cli.c
668 tcp/tcp_cubic.c
Florin Corasa436a422019-08-20 07:09:31 -0700669 tcp/tcp_debug.c
Florin Coras999840c2020-03-18 20:31:34 +0000670 tcp/tcp_sack.c
Damjan Marion4553c952018-08-26 11:04:40 +0200671 tcp/tcp.c
672)
673
Filip Tehlare275bed2019-03-06 00:06:56 -0800674list(APPEND VNET_MULTIARCH_SOURCES
675 tcp/tcp_input.c
676 tcp/tcp_output.c
677 tcp/tcp_syn_filter4.c
678)
679
Damjan Marion4553c952018-08-26 11:04:40 +0200680list(APPEND VNET_HEADERS
681 tcp/tcp_packet.h
682 tcp/tcp_timer.h
Florin Coras999840c2020-03-18 20:31:34 +0000683 tcp/tcp_bt.h
684 tcp/tcp_cc.h
Damjan Marion4553c952018-08-26 11:04:40 +0200685 tcp/tcp_debug.h
Florin Coras999840c2020-03-18 20:31:34 +0000686 tcp/tcp_inlines.h
687 tcp/tcp_sack.h
688 tcp/tcp_types.h
Damjan Marion4553c952018-08-26 11:04:40 +0200689 tcp/tcp.h
690 tcp/tcp_error.def
691)
692
693list(APPEND VNET_API_FILES tcp/tcp.api)
694
695##############################################################################
696# Layer 4 protocol: udp
697##############################################################################
698list(APPEND VNET_SOURCES
699 udp/udp.c
Florin Corasc98ef752020-04-07 17:30:13 +0000700 udp/udp_cli.c
Damjan Marion4553c952018-08-26 11:04:40 +0200701 udp/udp_input.c
702 udp/udp_format.c
703 udp/udp_local.c
704 udp/udp_pg.c
705 udp/udp_encap_node.c
706 udp/udp_encap.c
707 udp/udp_api.c
708)
709
Filip Tehlar2c49ffe2019-03-06 07:16:08 -0800710list(APPEND VNET_MULTIARCH_SOURCES
711 udp/udp_local.c
712 udp/udp_encap_node.c
713)
714
Damjan Marion4553c952018-08-26 11:04:40 +0200715list(APPEND VNET_HEADERS
716 udp/udp_error.def
717 udp/udp.h
718 udp/udp_packet.h
719)
720
721list(APPEND VNET_API_FILES udp/udp.api)
722
723##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200724# Tunnel protocol: gre
725##############################################################################
726list(APPEND VNET_SOURCES
727 gre/gre.c
728 gre/node.c
729 gre/interface.c
730 gre/pg.c
731 gre/gre_api.c
732)
733
Filip Tehlar0fce11f2019-03-04 09:21:59 -0800734list(APPEND VNET_MULTIARCH_SOURCES
735 gre/node.c
736 gre/gre.c
737)
738
Damjan Marion4553c952018-08-26 11:04:40 +0200739list(APPEND VNET_HEADERS
740 gre/gre.h
741 gre/packet.h
742 gre/error.def
743)
744
745list(APPEND VNET_API_FILES gre/gre.api)
746
747##############################################################################
748# Tunnel protocol: ipip
749##############################################################################
750list(APPEND VNET_SOURCES
751 ipip/ipip.c
752 ipip/node.c
753 ipip/sixrd.c
754 ipip/ipip_api.c
755 ipip/ipip_cli.c
756)
757
Filip Tehlar7a542f42019-03-05 04:50:23 -0800758list(APPEND VNET_MULTIARCH_SOURCES
759 ipip/node.c
760)
761
Damjan Marion4553c952018-08-26 11:04:40 +0200762list(APPEND VNET_HEADERS
763 ipip/ipip.h
764)
765
Neale Ranns95346962019-11-25 13:04:44 +0000766list(APPEND VNET_API_FILES
Neale Ranns95346962019-11-25 13:04:44 +0000767 ipip/ipip.api
768)
Damjan Marion4553c952018-08-26 11:04:40 +0200769
770##############################################################################
Neale Ranns59ff9182019-12-29 23:55:18 +0000771# Tunnel infra
772##############################################################################
773list(APPEND VNET_SOURCES
774 tunnel/tunnel.c
775 tunnel/tunnel_types_api.c
776)
777
778list(APPEND VNET_API_FILES
779 tunnel/tunnel_types.api
780)
781
782list(APPEND VNET_HEADERS
783 tunnel/tunnel.h
Neale Rannse5b94dd2019-12-31 05:13:14 +0000784 tunnel/tunnel_dp.h
Neale Ranns59ff9182019-12-29 23:55:18 +0000785)
786
787##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200788# Tunnel protocol: l2tpv3
789##############################################################################
790list(APPEND VNET_SOURCES
791 l2tp/l2tp.c
792 l2tp/encap.c
793 l2tp/decap.c
794 l2tp/pg.c
795 l2tp/l2tp_api.c
796)
797
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700798list(APPEND VNET_MULTIARCH_SOURCES
799 l2tp/encap.c
800 l2tp/decap.c
801)
802
Damjan Marion4553c952018-08-26 11:04:40 +0200803list(APPEND VNET_HEADERS
804 l2tp/l2tp.h
805 l2tp/packet.h
806)
807
808list(APPEND VNET_API_FILES l2tp/l2tp.api)
809
810##############################################################################
811# Tunnel protocol: gre+mpls
812##############################################################################
813list(APPEND VNET_SOURCES
814 mpls/mpls.c
815 mpls/mpls_lookup.c
816 mpls/mpls_output.c
817 mpls/mpls_features.c
818 mpls/mpls_input.c
819 mpls/interface.c
820 mpls/mpls_tunnel.c
821 mpls/pg.c
822 mpls/mpls_api.c
823)
824
Filip Tehlar17fcd982019-03-05 04:32:11 -0800825list(APPEND VNET_MULTIARCH_SOURCES
826 mpls/mpls_output.c
827 mpls/mpls_input.c
828 mpls/mpls_lookup.c
829 mpls/mpls_features.c
830)
831
Damjan Marion4553c952018-08-26 11:04:40 +0200832list(APPEND VNET_HEADERS
833 mpls/mpls.h
834 mpls/mpls_types.h
835 mpls/mpls_tunnel.h
836 mpls/packet.h
837 mpls/error.def
838)
839
840list(APPEND VNET_API_FILES mpls/mpls.api)
841
842##############################################################################
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200843# Tunnel protocol: vxlan-gbp
844##############################################################################
845list(APPEND VNET_SOURCES
846 vxlan-gbp/decap.c
847 vxlan-gbp/encap.c
848 vxlan-gbp/vxlan_gbp_api.c
849 vxlan-gbp/vxlan_gbp.c
Neale Ranns93cc3ee2018-10-10 07:22:51 -0700850 vxlan-gbp/vxlan_gbp_packet.c
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200851)
852
Filip Tehlare1714d32019-03-05 03:01:43 -0800853list (APPEND VNET_MULTIARCH_SOURCES
854 vxlan-gbp/decap.c
855 vxlan-gbp/encap.c
856)
857
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200858list(APPEND VNET_HEADERS
859 vxlan-gbp/vxlan_gbp.h
860 vxlan-gbp/vxlan_gbp_packet.h
861 vxlan-gbp/vxlan_gbp_error.def
862)
863
864list(APPEND VNET_API_FILES vxlan-gbp/vxlan_gbp.api)
865
866##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200867# Tunnel protocol: vxlan-gpe
868##############################################################################
869
870list(APPEND VNET_SOURCES
871 vxlan-gpe/vxlan_gpe.c
872 vxlan-gpe/encap.c
873 vxlan-gpe/decap.c
874 vxlan-gpe/vxlan_gpe_api.c
875)
876
Filip Tehlare1714d32019-03-05 03:01:43 -0800877list (APPEND VNET_MULTIARCH_SOURCES
878 vxlan-gpe/decap.c
879)
880
Damjan Marion4553c952018-08-26 11:04:40 +0200881list(APPEND VNET_HEADERS
882 vxlan-gpe/vxlan_gpe.h
883 vxlan-gpe/vxlan_gpe_packet.h
884 vxlan-gpe/vxlan_gpe_error.def
885)
886
887list(APPEND VNET_API_FILES vxlan-gpe/vxlan_gpe.api)
888
889##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200890# LISP control plane: lisp-cp
891##############################################################################
892
893list(APPEND VNET_SOURCES
894 lisp-cp/lisp_types.c
895 lisp-cp/lisp_cp_dpo.c
896 lisp-cp/control.c
897 lisp-cp/gid_dictionary.c
898 lisp-cp/lisp_msg_serdes.c
899 lisp-cp/packets.c
900 lisp-cp/one_cli.c
901 lisp-cp/lisp_cli.c
902 lisp-cp/one_api.c
903 lisp-cp/lisp_api.c
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100904 lisp-cp/lisp_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +0200905)
906
907list(APPEND VNET_HEADERS
908 lisp-cp/lisp_types.h
909 lisp-cp/packets.h
910 lisp-cp/gid_dictionary.h
911 lisp-cp/lisp_cp_messages.h
912 lisp-cp/lisp_msg_serdes.h
913 lisp-cp/control.h
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100914 lisp-cp/lisp_types_api.h
Damjan Marion4553c952018-08-26 11:04:40 +0200915)
916
Jakub Grajciar58db6e12020-01-30 13:26:43 +0100917list(APPEND VNET_API_FILES lisp-cp/lisp_types.api)
Damjan Marion4553c952018-08-26 11:04:40 +0200918list(APPEND VNET_API_FILES lisp-cp/lisp.api)
919list(APPEND VNET_API_FILES lisp-cp/one.api)
920
921##############################################################################
922# Tunnel protocol: lisp-gpe
923##############################################################################
924
925list(APPEND VNET_SOURCES
926 lisp-gpe/lisp_gpe.c
927 lisp-gpe/lisp_gpe_sub_interface.c
928 lisp-gpe/lisp_gpe_adjacency.c
929 lisp-gpe/lisp_gpe_tunnel.c
930 lisp-gpe/lisp_gpe_fwd_entry.c
931 lisp-gpe/lisp_gpe_tenant.c
932 lisp-gpe/interface.c
933 lisp-gpe/decap.c
934 lisp-gpe/lisp_gpe_api.c
935)
936
937list(APPEND VNET_HEADERS
938 lisp-gpe/lisp_gpe.h
939 lisp-gpe/lisp_gpe_fwd_entry.h
940 lisp-gpe/lisp_gpe_tenant.h
941 lisp-gpe/lisp_gpe_packet.h
942 lisp-gpe/lisp_gpe_error.def
943)
944
945list(APPEND VNET_API_FILES lisp-gpe/lisp_gpe.api)
946
947##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200948# ipv6 segment routing
949##############################################################################
950
951list(APPEND VNET_SOURCES
952 srv6/sr.c
953 srv6/sr_localsid.c
954 srv6/sr_policy_rewrite.c
955 srv6/sr_steering.c
956 srv6/sr_api.c
957)
958
959list(APPEND VNET_HEADERS
960 srv6/sr_packet.h
961 srv6/sr.h
962)
963
Jakub Grajciar0938eba2020-03-04 13:08:27 +0100964list(APPEND VNET_API_FILES
965 srv6/sr.api
966 srv6/sr_types.api
967)
Damjan Marion4553c952018-08-26 11:04:40 +0200968
969##############################################################################
970# mpls segment routing
971##############################################################################
972
973list(APPEND VNET_SOURCES
974 srmpls/sr_mpls_policy.c
975 srmpls/sr_mpls_steering.c
976 srmpls/sr_mpls_api.c
977)
978
979list(APPEND VNET_HEADERS
980 srmpls/sr_mpls.h
981)
982
Jakub Grajciar0938eba2020-03-04 13:08:27 +0100983list(APPEND VNET_API_FILES
984 srmpls/sr_mpls.api
985 srv6/sr_types.api
986)
Damjan Marion4553c952018-08-26 11:04:40 +0200987
988##############################################################################
989# IPFIX / netflow v10
990##############################################################################
991list(APPEND VNET_SOURCES
992 ipfix-export/flow_report.c
993 ipfix-export/flow_api.c
994)
995
996list(APPEND VNET_HEADERS
997 ipfix-export/flow_report.h
998 ipfix-export/ipfix_info_elements.h
999 ipfix-export/ipfix_packet.h
1000)
1001
1002list(APPEND VNET_API_FILES ipfix-export/ipfix_export.api)
1003
1004##############################################################################
Mohsin Kazmi29467b52019-10-08 19:42:38 +02001005# GSO
1006##############################################################################
1007list(APPEND VNET_SOURCES
1008 gso/cli.c
1009 gso/gso.c
1010 gso/gso_api.c
1011 gso/node.c
1012)
1013
1014list(APPEND VNET_HEADERS
Mohsin Kazmi0b042092020-04-17 16:50:56 +00001015 gso/hdr_offset_parser.h
Mohsin Kazmi29467b52019-10-08 19:42:38 +02001016 gso/gso.h
1017)
1018
1019list(APPEND VNET_API_FILES
1020 gso/gso.api
1021)
1022
1023##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001024# IPFIX classify code
1025##############################################################################
1026
1027list(APPEND VNET_SOURCES
1028 ipfix-export/flow_report_classify.c
1029)
1030
1031list(APPEND VNET_HEADERS
1032 ipfix-export/flow_report_classify.h
1033)
1034
1035##############################################################################
1036# lawful intercept
1037##############################################################################
1038
1039list(APPEND VNET_SOURCES
1040 lawful-intercept/lawful_intercept.c
1041 lawful-intercept/node.c
1042)
1043
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -07001044list(APPEND VNET_MULTIARCH_SOURCES
1045 lawful-intercept/node.c
1046)
1047
Damjan Marion4553c952018-08-26 11:04:40 +02001048list(APPEND VNET_HEADERS
1049 lawful-intercept/lawful_intercept.h
1050)
1051
1052##############################################################################
1053# SPAN (port mirroring)
1054##############################################################################
1055
1056list(APPEND VNET_SOURCES
1057 span/span_api.c
1058 span/span.c
1059 span/node.c
1060)
1061
Filip Tehlara79271f2019-03-05 03:46:40 -08001062list(APPEND VNET_MULTIARCH_SOURCES
1063 span/node.c
1064)
1065
Damjan Marion4553c952018-08-26 11:04:40 +02001066list(APPEND VNET_HEADERS
1067 span/span.h
1068)
1069
1070list(APPEND VNET_API_FILES span/span.api)
1071
1072##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001073# Packet generator
1074##############################################################################
1075
1076list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001077 pg/cli.c
1078 pg/edit.c
1079 pg/init.c
1080 pg/input.c
1081 pg/output.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001082 pg/stream.c
Damjan Marion4553c952018-08-26 11:04:40 +02001083 pg/pg_api.c
1084)
1085
1086list(APPEND VNET_HEADERS
1087 pg/pg.h
1088 pg/edit.h
1089)
1090
1091list(APPEND VNET_API_FILES pg/pg.api)
1092
1093##############################################################################
1094# virtio
1095##############################################################################
1096
1097list(APPEND VNET_SOURCES
Damjan Marionf41244f2019-11-08 17:41:06 +01001098 devices/virtio/cli.c
Damjan Marion4553c952018-08-26 11:04:40 +02001099 devices/virtio/device.c
Damjan Marionf41244f2019-11-08 17:41:06 +01001100 devices/virtio/format.c
Damjan Marion4553c952018-08-26 11:04:40 +02001101 devices/virtio/node.c
Damjan Marionf41244f2019-11-08 17:41:06 +01001102 devices/virtio/pci.c
Damjan Marion4553c952018-08-26 11:04:40 +02001103 devices/virtio/vhost_user.c
1104 devices/virtio/vhost_user_input.c
1105 devices/virtio/vhost_user_output.c
1106 devices/virtio/vhost_user_api.c
1107 devices/virtio/virtio.c
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001108 devices/virtio/virtio_api.c
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001109 devices/virtio/virtio_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +02001110)
1111
1112list(APPEND VNET_HEADERS
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001113 devices/virtio/pci.h
Damjan Marion4553c952018-08-26 11:04:40 +02001114 devices/virtio/virtio.h
1115 devices/virtio/vhost_user.h
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001116 devices/virtio/virtio_types_api.h
Damjan Marion4553c952018-08-26 11:04:40 +02001117)
1118
1119list(APPEND VNET_MULTIARCH_SOURCES
1120 devices/virtio/vhost_user_input.c
1121 devices/virtio/vhost_user_output.c
Filip Tehlar608996d2019-03-04 03:03:13 -08001122 devices/virtio/node.c
1123 devices/af_packet/node.c
Filip Tehlaraee73642019-03-13 05:50:44 -07001124 devices/virtio/device.c
Damjan Marion4553c952018-08-26 11:04:40 +02001125)
1126
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001127list(APPEND VNET_API_FILES
1128 devices/virtio/vhost_user.api
1129 devices/virtio/virtio.api
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001130 devices/virtio/virtio_types.api
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001131)
Damjan Marion4553c952018-08-26 11:04:40 +02001132
1133##############################################################################
1134# tap interface (with virtio backend)
1135##############################################################################
1136
1137list(APPEND VNET_SOURCES
1138 devices/tap/cli.c
1139 devices/tap/tap.c
1140 devices/tap/tapv2_api.c
1141)
1142
1143list(APPEND VNET_HEADERS
1144 devices/tap/tap.h
1145)
1146
1147list(APPEND VNET_API_FILES devices/tap/tapv2.api)
1148
1149##############################################################################
1150# tap interface (with virtio backend)
1151##############################################################################
1152
1153list(APPEND VNET_SOURCES
1154 devices/pipe/pipe_api.c
1155 devices/pipe/pipe.c
1156)
1157
1158list(APPEND VNET_HEADERS
1159 devices/pipe/pipe.h
1160)
1161
1162list(APPEND VNET_API_FILES devices/pipe/pipe.api)
1163
1164##############################################################################
1165# session managmeent
1166##############################################################################
1167
1168list(APPEND VNET_SOURCES
1169 session/session.c
Florin Coras11166672020-04-13 01:20:25 +00001170 session/session_debug.c
Damjan Marion4553c952018-08-26 11:04:40 +02001171 session/session_table.c
1172 session/session_rules_table.c
1173 session/session_lookup.c
1174 session/session_node.c
1175 session/transport.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001176 session/application.c
Florin Coras623eb562019-02-03 19:28:34 -08001177 session/application_worker.c
Damjan Marion4553c952018-08-26 11:04:40 +02001178 session/session_cli.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001179 session/application_interface.c
Florin Corasba7d8f52019-02-22 13:11:38 -08001180 session/application_local.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001181 session/application_namespace.c
Damjan Marion4553c952018-08-26 11:04:40 +02001182 session/segment_manager.c
Damjan Marion4553c952018-08-26 11:04:40 +02001183 session/session_api.c
1184)
1185
1186list(APPEND VNET_HEADERS
1187 session/session.h
1188 session/session_table.h
1189 session/session_rules_table.h
Florin Coras288eaab2019-02-03 15:26:14 -08001190 session/session_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001191 session/session_lookup.h
1192 session/application.h
1193 session/transport.h
Florin Coras1ee78302019-02-05 15:51:15 -08001194 session/transport_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001195 session/application_interface.h
Florin Corasba7d8f52019-02-22 13:11:38 -08001196 session/application_local.h
Damjan Marion4553c952018-08-26 11:04:40 +02001197 session/application_namespace.h
1198 session/session_debug.h
1199 session/segment_manager.h
1200 session/mma_template.h
1201 session/mma_template.c
1202 session/mma_16.h
1203 session/mma_40.h
1204)
1205
1206list(APPEND VNET_API_FILES session/session.api)
1207
1208##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001209# TLS protocol
1210##############################################################################
1211
1212list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001213 tls/tls.c
Damjan Marion4553c952018-08-26 11:04:40 +02001214)
1215
1216list(APPEND VNET_HEADERS
1217 tls/tls.h
Florin Coras54a51fd2019-02-07 15:34:52 -08001218 tls/tls_test.h
Damjan Marion4553c952018-08-26 11:04:40 +02001219)
1220
1221##############################################################################
1222# Linux packet interface
1223##############################################################################
1224
1225list(APPEND VNET_SOURCES
1226 devices/af_packet/af_packet.c
1227 devices/af_packet/device.c
1228 devices/af_packet/node.c
1229 devices/af_packet/cli.c
1230 devices/af_packet/af_packet_api.c
1231)
1232
Filip Tehlaraee73642019-03-13 05:50:44 -07001233list(APPEND VNET_MULTIARCH_SOURCES
Filip Tehlaraee73642019-03-13 05:50:44 -07001234 devices/af_packet/device.c
1235)
1236
Damjan Marion4553c952018-08-26 11:04:40 +02001237list(APPEND VNET_HEADERS
1238 devices/af_packet/af_packet.h
1239)
1240
1241list(APPEND VNET_API_FILES devices/af_packet/af_packet.api)
1242
1243##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001244# Driver feature graph arc support
1245##############################################################################
1246
1247list(APPEND VNET_SOURCES
1248 feature/feature.c
1249 feature/feature_api.c
1250 feature/registration.c
1251)
1252
1253list(APPEND VNET_HEADERS
1254 feature/feature.h
1255)
1256
1257list(APPEND VNET_API_FILES feature/feature.api)
1258
1259##############################################################################
1260# Unix kernel related
1261##############################################################################
1262
1263# FIXME: unix/hgshm.c
1264
1265list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001266 unix/gdb_funcs.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001267 unix/tuntap.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001268)
1269
Damjan Marion4553c952018-08-26 11:04:40 +02001270list(APPEND VNET_HEADERS
Damjan Marion4553c952018-08-26 11:04:40 +02001271 unix/tuntap.h
Damjan Marion612dd6a2018-07-30 12:45:07 +02001272)
1273
Damjan Marion4553c952018-08-26 11:04:40 +02001274##############################################################################
1275# FIB
1276##############################################################################
1277
1278list(APPEND VNET_SOURCES
1279 fib/fib.c
Damjan Marion4553c952018-08-26 11:04:40 +02001280 fib/ip4_fib.c
1281 fib/ip6_fib.c
1282 fib/mpls_fib.c
1283 fib/fib_table.c
1284 fib/fib_walk.c
1285 fib/fib_types.c
1286 fib/fib_node.c
1287 fib/fib_node_list.c
1288 fib/fib_entry.c
1289 fib/fib_entry_src.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001290 fib/fib_entry_src_adj.c
1291 fib/fib_entry_src_api.c
1292 fib/fib_entry_src_drop.c
Damjan Marion4553c952018-08-26 11:04:40 +02001293 fib/fib_entry_src_interface.c
1294 fib/fib_entry_src_interpose.c
Damjan Marion4553c952018-08-26 11:04:40 +02001295 fib/fib_entry_src_lisp.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001296 fib/fib_entry_src_mpls.c
1297 fib/fib_entry_src_simple.c
1298 fib/fib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001299 fib/fib_entry_cover.c
1300 fib/fib_entry_delegate.c
Neale Ranns1f50bf82019-07-16 15:28:52 +00001301 fib/fib_entry_track.c
Damjan Marion4553c952018-08-26 11:04:40 +02001302 fib/fib_path_list.c
1303 fib/fib_path.c
1304 fib/fib_path_ext.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001305 fib/fib_source.c
Damjan Marion4553c952018-08-26 11:04:40 +02001306 fib/fib_urpf_list.c
1307 fib/fib_attached_export.c
1308 fib/fib_api.c
1309 fib/fib_bfd.c
1310)
1311
1312list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001313 fib/fib.h
Damjan Marion4553c952018-08-26 11:04:40 +02001314 fib/fib_api.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001315 fib/ip4_fib.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001316 fib/ip6_fib.h
1317 fib/fib_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001318 fib/fib_table.h
1319 fib/fib_node.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001320 fib/fib_node_list.h
Damjan Marion4553c952018-08-26 11:04:40 +02001321 fib/fib_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001322 fib/fib_entry_delegate.h
Neale Ranns3bab8f92019-12-04 06:11:00 +00001323 fib/fib_source.h
Damjan Marion4553c952018-08-26 11:04:40 +02001324)
1325
Benoît Ganned39495d2019-07-25 14:14:03 +02001326list(APPEND VNET_API_FILES fib/fib_types.api)
1327
Damjan Marion4553c952018-08-26 11:04:40 +02001328##############################################################################
1329# ADJ
1330##############################################################################
1331
1332list(APPEND VNET_SOURCES
1333 adj/adj_nbr.c
1334 adj/adj_glean.c
1335 adj/adj_midchain.c
Neale Ranns4c3ba812019-03-26 07:02:58 +00001336 adj/adj_midchain_delegate.c
Damjan Marion4553c952018-08-26 11:04:40 +02001337 adj/adj_mcast.c
1338 adj/adj_l2.c
1339 adj/adj_nsh.c
1340 adj/adj.c
1341 adj/rewrite.c
1342 adj/adj_bfd.c
1343 adj/adj_delegate.c
1344)
1345
Filip Tehlar0b2c15d2019-03-04 02:52:54 -08001346list(APPEND VNET_MULTIARCH_SOURCES
1347 adj/adj_nsh.c
1348 adj/adj_l2.c
Neale Ranns4ec36c52020-03-31 09:21:29 -04001349 adj/adj_midchain.c
Filip Tehlar0b2c15d2019-03-04 02:52:54 -08001350)
1351
Damjan Marion4553c952018-08-26 11:04:40 +02001352list(APPEND VNET_HEADERS
1353 adj/adj.h
1354 adj/adj_types.h
1355 adj/adj_glean.h
1356 adj/adj_nsh.h
1357 adj/adj_nbr.h
Alberto Compagnod8ca1e42019-08-12 11:43:19 +02001358 adj/adj_midchain.h
Damjan Marion4553c952018-08-26 11:04:40 +02001359 adj/rewrite.h
1360)
1361
1362##############################################################################
1363# Data-Plane Objects
1364##############################################################################
1365
1366list(APPEND VNET_SOURCES
1367 dpo/dpo.c
1368 dpo/drop_dpo.c
1369 dpo/ip_null_dpo.c
1370 dpo/ip6_ll_dpo.c
1371 dpo/punt_dpo.c
1372 dpo/receive_dpo.c
1373 dpo/load_balance.c
1374 dpo/load_balance_map.c
1375 dpo/lookup_dpo.c
1376 dpo/classify_dpo.c
1377 dpo/replicate_dpo.c
1378 dpo/interface_rx_dpo.c
1379 dpo/interface_tx_dpo.c
1380 dpo/mpls_disposition.c
1381 dpo/mpls_label_dpo.c
1382 dpo/l3_proxy_dpo.c
1383 dpo/dvr_dpo.c
Neale Ranns1dbcf302019-07-19 11:44:53 +00001384 dpo/pw_cw.c
Damjan Marion4553c952018-08-26 11:04:40 +02001385)
1386
Filip Tehlareb9a27f2019-03-07 01:42:11 -08001387list(APPEND VNET_MULTIARCH_SOURCES
1388 dpo/lookup_dpo.h
1389 dpo/mpls_disposition.c
1390 dpo/dvr_dpo.c
1391 dpo/mpls_label_dpo.c
1392 dpo/interface_rx_dpo.c
1393)
1394
Damjan Marion4553c952018-08-26 11:04:40 +02001395list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001396 dpo/load_balance.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001397 dpo/drop_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001398 dpo/lookup_dpo.h
1399 dpo/punt_dpo.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001400 dpo/classify_dpo.h
1401 dpo/receive_dpo.h
1402 dpo/ip_null_dpo.h
1403 dpo/replicate_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001404 dpo/dpo.h
1405)
1406
1407##############################################################################
1408# Multicast FIB
1409##############################################################################
1410
1411list(APPEND VNET_SOURCES
Damjan Marion4553c952018-08-26 11:04:40 +02001412 mfib/mfib_forward.c
1413 mfib/ip4_mfib.c
1414 mfib/ip6_mfib.c
Neale Ranns097fa662018-05-01 05:17:55 -07001415 mfib/mfib_api.c
Damjan Marion4553c952018-08-26 11:04:40 +02001416 mfib/mfib_types.c
1417 mfib/mfib_signal.c
1418 mfib/mfib_itf.c
1419 mfib/mfib_entry.c
Neale Ranns9e829a82018-12-17 05:50:32 -08001420 mfib/mfib_entry.c
1421 mfib/mfib_entry_cover.c
1422 mfib/mfib_entry_delegate.c
1423 mfib/mfib_entry_src.c
1424 mfib/mfib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001425 mfib/mfib_table.c
1426)
1427
Filip Tehlar79c27eb2019-03-07 00:30:03 -08001428list(APPEND VNET_MULTIARCH_SOURCES
1429 mfib/mfib_forward.c
1430)
1431
Damjan Marion4553c952018-08-26 11:04:40 +02001432list(APPEND VNET_HEADERS
1433 mfib/ip4_mfib.h
1434 mfib/mfib_types.h
1435 mfib/mfib_table.h
1436)
1437
Benoît Ganned39495d2019-07-25 14:14:03 +02001438list(APPEND VNET_API_FILES mfib/mfib_types.api)
1439
Damjan Marion4553c952018-08-26 11:04:40 +02001440##############################################################################
1441# Utilities
1442##############################################################################
1443
1444list(APPEND VNET_SOURCES
1445 util/radix.c
1446 util/refcount.c
Neale Rannsc8352bc2018-08-29 10:23:58 -07001447 util/throttle.c
Damjan Marion4553c952018-08-26 11:04:40 +02001448 util/trajectory.c
1449)
1450
Damjan Marionac5554c2018-08-30 22:56:59 +02001451list(APPEND VNET_HEADERS
1452 util/throttle.h
1453)
1454
Damjan Marion4553c952018-08-26 11:04:40 +02001455##############################################################################
1456# QoS
1457##############################################################################
1458
1459list(APPEND VNET_SOURCES
1460 qos/qos_types.c
1461 qos/qos_api.c
1462 qos/qos_egress_map.c
1463 qos/qos_record.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001464 qos/qos_record_node.c
Neale Ranns83832e72019-07-31 02:48:02 -07001465 qos/qos_store.c
1466 qos/qos_store_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001467 qos/qos_mark.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001468 qos/qos_mark_node.c
1469)
1470
1471list(APPEND VNET_MULTIARCH_SOURCES
1472 qos/qos_record_node.c
1473 qos/qos_mark_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001474)
1475
1476list(APPEND VNET_API_FILES qos/qos.api)
1477
1478##############################################################################
1479# BIER
1480##############################################################################
1481
1482list(APPEND VNET_SOURCES
1483 bier/bier_bit_string.c
1484 bier/bier_entry.c
1485 bier/bier_fmask.c
1486 bier/bier_fmask_db.c
1487 bier/bier_input.c
1488 bier/bier_lookup.c
1489 bier/bier_output.c
1490 bier/bier_table.c
1491 bier/bier_types.c
Damjan Marion4553c952018-08-26 11:04:40 +02001492 bier/bier_api.c
1493 bier/bier_drop.c
1494 bier/bier_update.c
1495 bier/bier_imp_node.c
1496 bier/bier_imp.c
1497 bier/bier_disp_entry.c
1498 bier/bier_disp_lookup_node.c
1499 bier/bier_disp_dispatch_node.c
1500 bier/bier_disp_table.c
1501 bier/bier_bift_table.c
1502)
1503
Filip Tehlara01e0322019-03-05 03:34:52 -08001504list(APPEND VNET_MULTIARCH_SOURCES
1505 bier/bier_disp_dispatch_node.c
1506 bier/bier_disp_lookup_node.c
1507 bier/bier_imp_node.c
1508)
1509
Damjan Marion4553c952018-08-26 11:04:40 +02001510list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001511 bier/bier_types.h
1512 bier/bier_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001513 bier/bier_update.h
Damjan Marion4553c952018-08-26 11:04:40 +02001514 bier/bier_table.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001515)
1516
Damjan Marion4553c952018-08-26 11:04:40 +02001517list(APPEND VNET_API_FILES bier/bier.api)
Damjan Marion612dd6a2018-07-30 12:45:07 +02001518
Florin Coras41c9e042018-09-11 00:10:41 -07001519##############################################################################
Matus Fabianb4515b42018-11-19 04:25:32 -08001520# SYSLOG
1521##############################################################################
1522
1523list (APPEND VNET_SOURCES
1524 syslog/syslog_api.c
1525 syslog/syslog_udp.c
1526 syslog/syslog.c
1527)
1528
1529list(APPEND VNET_HEADERS
1530 syslog/syslog_udp.h
1531 syslog/syslog.h
1532)
1533
1534list(APPEND VNET_API_FILES syslog/syslog.api)
1535
1536##############################################################################
Neale Ranns03ce4622020-02-03 10:55:09 +00001537# Tunnel Endpoint Information Base
Neale Ranns5f8f6172019-04-18 10:23:56 +00001538##############################################################################
1539
1540list (APPEND VNET_SOURCES
Neale Ranns03ce4622020-02-03 10:55:09 +00001541 teib/teib_api.c
1542 teib/teib_cli.c
1543 teib/teib.c
Neale Ranns5f8f6172019-04-18 10:23:56 +00001544)
1545
1546list(APPEND VNET_HEADERS
Neale Ranns03ce4622020-02-03 10:55:09 +00001547 teib/teib.h
Neale Ranns5f8f6172019-04-18 10:23:56 +00001548)
1549
Neale Ranns03ce4622020-02-03 10:55:09 +00001550list(APPEND VNET_API_FILES teib/teib.api)
Neale Ranns5f8f6172019-04-18 10:23:56 +00001551
1552##############################################################################
Neale Rannscbe25aa2019-09-30 10:53:31 +00001553# ARP/ND
1554##############################################################################
1555
1556list (APPEND VNET_SOURCES
1557 arp/arp_api.c
1558 arp/arp.c
1559 arp/arp_proxy.c
1560)
1561
1562list(APPEND VNET_HEADERS
1563 arp/arp.h
1564)
1565
1566list(APPEND VNET_API_FILES arp/arp.api)
1567
1568list (APPEND VNET_SOURCES
1569 ip6-nd/ip6_mld.c
1570 ip6-nd/ip6_nd.c
1571 ip6-nd/ip6_nd_api.c
1572 ip6-nd/ip6_nd_proxy.c
1573 ip6-nd/ip6_ra.c
1574 ip6-nd/rd_cp.c
1575 ip6-nd/rd_cp_api.c
1576)
1577
1578list(APPEND VNET_HEADERS
1579 ip6-nd/ip6_nd.h
1580)
1581
1582list(APPEND VNET_API_FILES
1583 ip6-nd/ip6_nd.api
1584 ip6-nd/rd_cp.api
1585)
1586
1587##############################################################################
Florin Coras41c9e042018-09-11 00:10:41 -07001588# VNET Library
1589##############################################################################
1590
Damjan Marion4553c952018-08-26 11:04:40 +02001591add_vpp_library(vnet
1592 SOURCES ${VNET_SOURCES}
1593 MULTIARCH_SOURCES ${VNET_MULTIARCH_SOURCES}
1594 INSTALL_HEADERS ${VNET_HEADERS}
1595 API_FILES ${VNET_API_FILES}
1596 LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES}
Chris Lukec171d012020-01-15 20:30:04 -05001597 DEPENDS vpp_version_h api_headers
Damjan Marion612dd6a2018-07-30 12:45:07 +02001598)
Florin Coras41c9e042018-09-11 00:10:41 -07001599
1600##############################################################################
Yulong Peidb43bb62020-01-09 01:12:43 +08001601# vpp api test client library
1602##############################################################################
1603
1604add_vpp_library (vatclient
1605 SOURCES ip/ip_types_api.c
1606 DEPENDS api_headers
1607)
1608
1609##############################################################################