blob: 39774ba2682be9a29b40d2bacaefcacdca90f017 [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
579)
580
581list(APPEND VNET_HEADERS
582 crypto/crypto.h
583)
584
585##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200586# Layer 3 protocol: IPSec
587##############################################################################
588list(APPEND VNET_SOURCES
589 ipsec/ipsec.c
590 ipsec/ipsec_cli.c
591 ipsec/ipsec_format.c
Neale Rannsf62a8c02019-04-02 08:13:33 +0000592 ipsec/ipsec_handoff.c
Damjan Marion4553c952018-08-26 11:04:40 +0200593 ipsec/ipsec_input.c
Neale Rannsb71fa752019-04-04 12:43:36 +0000594 ipsec/ipsec_punt.c
Neale Ranns999c8ee2019-02-01 03:31:24 -0800595 ipsec/ipsec_sa.c
596 ipsec/ipsec_spd.c
597 ipsec/ipsec_spd_policy.c
Neale Rannsc87b66c2019-02-07 07:26:12 -0800598 ipsec/ipsec_tun.c
599 ipsec/ipsec_tun_in.c
Damjan Marion4553c952018-08-26 11:04:40 +0200600 ipsec/esp_format.c
601 ipsec/esp_encrypt.c
602 ipsec/esp_decrypt.c
603 ipsec/ah_decrypt.c
604 ipsec/ah_encrypt.c
Damjan Marion4553c952018-08-26 11:04:40 +0200605 ipsec/ipsec_api.c
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530606 ipsec/ipsec_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +0200607)
608
Klement Sekerab8f35442018-10-29 13:38:19 +0100609list(APPEND VNET_MULTIARCH_SOURCES
610 ipsec/esp_encrypt.c
611 ipsec/esp_decrypt.c
612 ipsec/ah_decrypt.c
613 ipsec/ah_encrypt.c
Neale Rannsf62a8c02019-04-02 08:13:33 +0000614 ipsec/ipsec_handoff.c
Kingwel Xiec69ac312019-02-04 01:49:29 -0800615 ipsec/ipsec_output.c
616 ipsec/ipsec_input.c
Neale Rannsc87b66c2019-02-07 07:26:12 -0800617 ipsec/ipsec_tun_in.c
Klement Sekerab8f35442018-10-29 13:38:19 +0100618)
619
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530620list(APPEND VNET_API_FILES ipsec/ipsec_types.api)
Damjan Marion4553c952018-08-26 11:04:40 +0200621list(APPEND VNET_API_FILES ipsec/ipsec.api)
622
623list(APPEND VNET_SOURCES
624 ipsec/ipsec_output.c
625)
626
627list(APPEND VNET_HEADERS
628 ipsec/ipsec.h
Neale Ranns918c1612019-02-21 23:34:59 -0800629 ipsec/ipsec_spd.h
630 ipsec/ipsec_spd_policy.h
631 ipsec/ipsec_sa.h
Neale Ranns12989b52019-09-26 16:20:19 +0000632 ipsec/ipsec_tun.h
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530633 ipsec/ipsec_types_api.h
Neale Rannsba05e5d2019-06-07 05:17:07 -0700634 ipsec/ipsec_punt.h
Damjan Marion4553c952018-08-26 11:04:40 +0200635 ipsec/esp.h
636 ipsec/ah.h
Damjan Marion4553c952018-08-26 11:04:40 +0200637)
638
639##############################################################################
640# Layer 3 protocol: osi
641##############################################################################
642list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200643 osi/node.c
644 osi/osi.c
645 osi/pg.c
Damjan Marion4553c952018-08-26 11:04:40 +0200646)
647
648list(APPEND VNET_HEADERS
649 osi/osi.h
650)
651
652##############################################################################
653# Layer 4 protocol: tcp
654##############################################################################
655list(APPEND VNET_SOURCES
656 tcp/tcp_api.c
657 tcp/tcp_format.c
658 tcp/tcp_pg.c
659 tcp/tcp_syn_filter4.c
660 tcp/tcp_output.c
661 tcp/tcp_input.c
662 tcp/tcp_newreno.c
Florin Coras52814732019-06-12 15:38:19 -0700663 tcp/tcp_bt.c
Florin Coras999840c2020-03-18 20:31:34 +0000664 tcp/tcp_cli.c
665 tcp/tcp_cubic.c
Florin Corasa436a422019-08-20 07:09:31 -0700666 tcp/tcp_debug.c
Florin Coras999840c2020-03-18 20:31:34 +0000667 tcp/tcp_sack.c
Damjan Marion4553c952018-08-26 11:04:40 +0200668 tcp/tcp.c
669)
670
Filip Tehlare275bed2019-03-06 00:06:56 -0800671list(APPEND VNET_MULTIARCH_SOURCES
672 tcp/tcp_input.c
673 tcp/tcp_output.c
674 tcp/tcp_syn_filter4.c
675)
676
Damjan Marion4553c952018-08-26 11:04:40 +0200677list(APPEND VNET_HEADERS
678 tcp/tcp_packet.h
679 tcp/tcp_timer.h
Florin Coras999840c2020-03-18 20:31:34 +0000680 tcp/tcp_bt.h
681 tcp/tcp_cc.h
Damjan Marion4553c952018-08-26 11:04:40 +0200682 tcp/tcp_debug.h
Florin Coras999840c2020-03-18 20:31:34 +0000683 tcp/tcp_inlines.h
684 tcp/tcp_sack.h
685 tcp/tcp_types.h
Damjan Marion4553c952018-08-26 11:04:40 +0200686 tcp/tcp.h
687 tcp/tcp_error.def
688)
689
690list(APPEND VNET_API_FILES tcp/tcp.api)
691
692##############################################################################
693# Layer 4 protocol: udp
694##############################################################################
695list(APPEND VNET_SOURCES
696 udp/udp.c
Florin Corasc98ef752020-04-07 17:30:13 +0000697 udp/udp_cli.c
Damjan Marion4553c952018-08-26 11:04:40 +0200698 udp/udp_input.c
699 udp/udp_format.c
700 udp/udp_local.c
701 udp/udp_pg.c
702 udp/udp_encap_node.c
703 udp/udp_encap.c
704 udp/udp_api.c
705)
706
Filip Tehlar2c49ffe2019-03-06 07:16:08 -0800707list(APPEND VNET_MULTIARCH_SOURCES
708 udp/udp_local.c
709 udp/udp_encap_node.c
710)
711
Damjan Marion4553c952018-08-26 11:04:40 +0200712list(APPEND VNET_HEADERS
713 udp/udp_error.def
714 udp/udp.h
715 udp/udp_packet.h
716)
717
718list(APPEND VNET_API_FILES udp/udp.api)
719
720##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200721# Tunnel protocol: gre
722##############################################################################
723list(APPEND VNET_SOURCES
724 gre/gre.c
725 gre/node.c
726 gre/interface.c
727 gre/pg.c
728 gre/gre_api.c
729)
730
Filip Tehlar0fce11f2019-03-04 09:21:59 -0800731list(APPEND VNET_MULTIARCH_SOURCES
732 gre/node.c
733 gre/gre.c
734)
735
Damjan Marion4553c952018-08-26 11:04:40 +0200736list(APPEND VNET_HEADERS
737 gre/gre.h
738 gre/packet.h
739 gre/error.def
740)
741
742list(APPEND VNET_API_FILES gre/gre.api)
743
744##############################################################################
745# Tunnel protocol: ipip
746##############################################################################
747list(APPEND VNET_SOURCES
748 ipip/ipip.c
749 ipip/node.c
750 ipip/sixrd.c
751 ipip/ipip_api.c
752 ipip/ipip_cli.c
753)
754
Filip Tehlar7a542f42019-03-05 04:50:23 -0800755list(APPEND VNET_MULTIARCH_SOURCES
756 ipip/node.c
757)
758
Damjan Marion4553c952018-08-26 11:04:40 +0200759list(APPEND VNET_HEADERS
760 ipip/ipip.h
761)
762
Neale Ranns95346962019-11-25 13:04:44 +0000763list(APPEND VNET_API_FILES
Neale Ranns95346962019-11-25 13:04:44 +0000764 ipip/ipip.api
765)
Damjan Marion4553c952018-08-26 11:04:40 +0200766
767##############################################################################
Neale Ranns59ff9182019-12-29 23:55:18 +0000768# Tunnel infra
769##############################################################################
770list(APPEND VNET_SOURCES
771 tunnel/tunnel.c
772 tunnel/tunnel_types_api.c
773)
774
775list(APPEND VNET_API_FILES
776 tunnel/tunnel_types.api
777)
778
779list(APPEND VNET_HEADERS
780 tunnel/tunnel.h
Neale Rannse5b94dd2019-12-31 05:13:14 +0000781 tunnel/tunnel_dp.h
Neale Ranns59ff9182019-12-29 23:55:18 +0000782)
783
784##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200785# Tunnel protocol: l2tpv3
786##############################################################################
787list(APPEND VNET_SOURCES
788 l2tp/l2tp.c
789 l2tp/encap.c
790 l2tp/decap.c
791 l2tp/pg.c
792 l2tp/l2tp_api.c
793)
794
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700795list(APPEND VNET_MULTIARCH_SOURCES
796 l2tp/encap.c
797 l2tp/decap.c
798)
799
Damjan Marion4553c952018-08-26 11:04:40 +0200800list(APPEND VNET_HEADERS
801 l2tp/l2tp.h
802 l2tp/packet.h
803)
804
805list(APPEND VNET_API_FILES l2tp/l2tp.api)
806
807##############################################################################
808# Tunnel protocol: gre+mpls
809##############################################################################
810list(APPEND VNET_SOURCES
811 mpls/mpls.c
812 mpls/mpls_lookup.c
813 mpls/mpls_output.c
814 mpls/mpls_features.c
815 mpls/mpls_input.c
816 mpls/interface.c
817 mpls/mpls_tunnel.c
818 mpls/pg.c
819 mpls/mpls_api.c
820)
821
Filip Tehlar17fcd982019-03-05 04:32:11 -0800822list(APPEND VNET_MULTIARCH_SOURCES
823 mpls/mpls_output.c
824 mpls/mpls_input.c
825 mpls/mpls_lookup.c
826 mpls/mpls_features.c
827)
828
Damjan Marion4553c952018-08-26 11:04:40 +0200829list(APPEND VNET_HEADERS
830 mpls/mpls.h
831 mpls/mpls_types.h
832 mpls/mpls_tunnel.h
833 mpls/packet.h
834 mpls/error.def
835)
836
837list(APPEND VNET_API_FILES mpls/mpls.api)
838
839##############################################################################
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200840# Tunnel protocol: vxlan-gbp
841##############################################################################
842list(APPEND VNET_SOURCES
843 vxlan-gbp/decap.c
844 vxlan-gbp/encap.c
845 vxlan-gbp/vxlan_gbp_api.c
846 vxlan-gbp/vxlan_gbp.c
Neale Ranns93cc3ee2018-10-10 07:22:51 -0700847 vxlan-gbp/vxlan_gbp_packet.c
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200848)
849
Filip Tehlare1714d32019-03-05 03:01:43 -0800850list (APPEND VNET_MULTIARCH_SOURCES
851 vxlan-gbp/decap.c
852 vxlan-gbp/encap.c
853)
854
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200855list(APPEND VNET_HEADERS
856 vxlan-gbp/vxlan_gbp.h
857 vxlan-gbp/vxlan_gbp_packet.h
858 vxlan-gbp/vxlan_gbp_error.def
859)
860
861list(APPEND VNET_API_FILES vxlan-gbp/vxlan_gbp.api)
862
863##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200864# Tunnel protocol: vxlan-gpe
865##############################################################################
866
867list(APPEND VNET_SOURCES
868 vxlan-gpe/vxlan_gpe.c
869 vxlan-gpe/encap.c
870 vxlan-gpe/decap.c
871 vxlan-gpe/vxlan_gpe_api.c
872)
873
Filip Tehlare1714d32019-03-05 03:01:43 -0800874list (APPEND VNET_MULTIARCH_SOURCES
875 vxlan-gpe/decap.c
876)
877
Damjan Marion4553c952018-08-26 11:04:40 +0200878list(APPEND VNET_HEADERS
879 vxlan-gpe/vxlan_gpe.h
880 vxlan-gpe/vxlan_gpe_packet.h
881 vxlan-gpe/vxlan_gpe_error.def
882)
883
884list(APPEND VNET_API_FILES vxlan-gpe/vxlan_gpe.api)
885
886##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200887# LISP control plane: lisp-cp
888##############################################################################
889
890list(APPEND VNET_SOURCES
891 lisp-cp/lisp_types.c
892 lisp-cp/lisp_cp_dpo.c
893 lisp-cp/control.c
894 lisp-cp/gid_dictionary.c
895 lisp-cp/lisp_msg_serdes.c
896 lisp-cp/packets.c
897 lisp-cp/one_cli.c
898 lisp-cp/lisp_cli.c
899 lisp-cp/one_api.c
900 lisp-cp/lisp_api.c
901)
902
903list(APPEND VNET_HEADERS
904 lisp-cp/lisp_types.h
905 lisp-cp/packets.h
906 lisp-cp/gid_dictionary.h
907 lisp-cp/lisp_cp_messages.h
908 lisp-cp/lisp_msg_serdes.h
909 lisp-cp/control.h
910)
911
912list(APPEND VNET_API_FILES lisp-cp/lisp.api)
913list(APPEND VNET_API_FILES lisp-cp/one.api)
914
915##############################################################################
916# Tunnel protocol: lisp-gpe
917##############################################################################
918
919list(APPEND VNET_SOURCES
920 lisp-gpe/lisp_gpe.c
921 lisp-gpe/lisp_gpe_sub_interface.c
922 lisp-gpe/lisp_gpe_adjacency.c
923 lisp-gpe/lisp_gpe_tunnel.c
924 lisp-gpe/lisp_gpe_fwd_entry.c
925 lisp-gpe/lisp_gpe_tenant.c
926 lisp-gpe/interface.c
927 lisp-gpe/decap.c
928 lisp-gpe/lisp_gpe_api.c
929)
930
931list(APPEND VNET_HEADERS
932 lisp-gpe/lisp_gpe.h
933 lisp-gpe/lisp_gpe_fwd_entry.h
934 lisp-gpe/lisp_gpe_tenant.h
935 lisp-gpe/lisp_gpe_packet.h
936 lisp-gpe/lisp_gpe_error.def
937)
938
939list(APPEND VNET_API_FILES lisp-gpe/lisp_gpe.api)
940
941##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200942# ipv6 segment routing
943##############################################################################
944
945list(APPEND VNET_SOURCES
946 srv6/sr.c
947 srv6/sr_localsid.c
948 srv6/sr_policy_rewrite.c
949 srv6/sr_steering.c
950 srv6/sr_api.c
951)
952
953list(APPEND VNET_HEADERS
954 srv6/sr_packet.h
955 srv6/sr.h
956)
957
Jakub Grajciar0938eba2020-03-04 13:08:27 +0100958list(APPEND VNET_API_FILES
959 srv6/sr.api
960 srv6/sr_types.api
961)
Damjan Marion4553c952018-08-26 11:04:40 +0200962
963##############################################################################
964# mpls segment routing
965##############################################################################
966
967list(APPEND VNET_SOURCES
968 srmpls/sr_mpls_policy.c
969 srmpls/sr_mpls_steering.c
970 srmpls/sr_mpls_api.c
971)
972
973list(APPEND VNET_HEADERS
974 srmpls/sr_mpls.h
975)
976
Jakub Grajciar0938eba2020-03-04 13:08:27 +0100977list(APPEND VNET_API_FILES
978 srmpls/sr_mpls.api
979 srv6/sr_types.api
980)
Damjan Marion4553c952018-08-26 11:04:40 +0200981
982##############################################################################
983# IPFIX / netflow v10
984##############################################################################
985list(APPEND VNET_SOURCES
986 ipfix-export/flow_report.c
987 ipfix-export/flow_api.c
988)
989
990list(APPEND VNET_HEADERS
991 ipfix-export/flow_report.h
992 ipfix-export/ipfix_info_elements.h
993 ipfix-export/ipfix_packet.h
994)
995
996list(APPEND VNET_API_FILES ipfix-export/ipfix_export.api)
997
998##############################################################################
Mohsin Kazmi29467b52019-10-08 19:42:38 +0200999# GSO
1000##############################################################################
1001list(APPEND VNET_SOURCES
1002 gso/cli.c
1003 gso/gso.c
1004 gso/gso_api.c
1005 gso/node.c
1006)
1007
1008list(APPEND VNET_HEADERS
Mohsin Kazmi0b042092020-04-17 16:50:56 +00001009 gso/hdr_offset_parser.h
Mohsin Kazmi29467b52019-10-08 19:42:38 +02001010 gso/gso.h
1011)
1012
1013list(APPEND VNET_API_FILES
1014 gso/gso.api
1015)
1016
1017##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001018# IPFIX classify code
1019##############################################################################
1020
1021list(APPEND VNET_SOURCES
1022 ipfix-export/flow_report_classify.c
1023)
1024
1025list(APPEND VNET_HEADERS
1026 ipfix-export/flow_report_classify.h
1027)
1028
1029##############################################################################
1030# lawful intercept
1031##############################################################################
1032
1033list(APPEND VNET_SOURCES
1034 lawful-intercept/lawful_intercept.c
1035 lawful-intercept/node.c
1036)
1037
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -07001038list(APPEND VNET_MULTIARCH_SOURCES
1039 lawful-intercept/node.c
1040)
1041
Damjan Marion4553c952018-08-26 11:04:40 +02001042list(APPEND VNET_HEADERS
1043 lawful-intercept/lawful_intercept.h
1044)
1045
1046##############################################################################
1047# SPAN (port mirroring)
1048##############################################################################
1049
1050list(APPEND VNET_SOURCES
1051 span/span_api.c
1052 span/span.c
1053 span/node.c
1054)
1055
Filip Tehlara79271f2019-03-05 03:46:40 -08001056list(APPEND VNET_MULTIARCH_SOURCES
1057 span/node.c
1058)
1059
Damjan Marion4553c952018-08-26 11:04:40 +02001060list(APPEND VNET_HEADERS
1061 span/span.h
1062)
1063
1064list(APPEND VNET_API_FILES span/span.api)
1065
1066##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001067# Packet generator
1068##############################################################################
1069
1070list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001071 pg/cli.c
1072 pg/edit.c
1073 pg/init.c
1074 pg/input.c
1075 pg/output.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001076 pg/stream.c
Damjan Marion4553c952018-08-26 11:04:40 +02001077 pg/pg_api.c
1078)
1079
1080list(APPEND VNET_HEADERS
1081 pg/pg.h
1082 pg/edit.h
1083)
1084
1085list(APPEND VNET_API_FILES pg/pg.api)
1086
1087##############################################################################
1088# virtio
1089##############################################################################
1090
1091list(APPEND VNET_SOURCES
Damjan Marionf41244f2019-11-08 17:41:06 +01001092 devices/virtio/cli.c
Damjan Marion4553c952018-08-26 11:04:40 +02001093 devices/virtio/device.c
Damjan Marionf41244f2019-11-08 17:41:06 +01001094 devices/virtio/format.c
Damjan Marion4553c952018-08-26 11:04:40 +02001095 devices/virtio/node.c
Damjan Marionf41244f2019-11-08 17:41:06 +01001096 devices/virtio/pci.c
Damjan Marion4553c952018-08-26 11:04:40 +02001097 devices/virtio/vhost_user.c
1098 devices/virtio/vhost_user_input.c
1099 devices/virtio/vhost_user_output.c
1100 devices/virtio/vhost_user_api.c
1101 devices/virtio/virtio.c
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001102 devices/virtio/virtio_api.c
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001103 devices/virtio/virtio_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +02001104)
1105
1106list(APPEND VNET_HEADERS
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001107 devices/virtio/pci.h
Damjan Marion4553c952018-08-26 11:04:40 +02001108 devices/virtio/virtio.h
1109 devices/virtio/vhost_user.h
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001110 devices/virtio/virtio_types_api.h
Damjan Marion4553c952018-08-26 11:04:40 +02001111)
1112
1113list(APPEND VNET_MULTIARCH_SOURCES
1114 devices/virtio/vhost_user_input.c
1115 devices/virtio/vhost_user_output.c
Filip Tehlar608996d2019-03-04 03:03:13 -08001116 devices/virtio/node.c
1117 devices/af_packet/node.c
Filip Tehlaraee73642019-03-13 05:50:44 -07001118 devices/virtio/device.c
Damjan Marion4553c952018-08-26 11:04:40 +02001119)
1120
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001121list(APPEND VNET_API_FILES
1122 devices/virtio/vhost_user.api
1123 devices/virtio/virtio.api
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001124 devices/virtio/virtio_types.api
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001125)
Damjan Marion4553c952018-08-26 11:04:40 +02001126
1127##############################################################################
1128# tap interface (with virtio backend)
1129##############################################################################
1130
1131list(APPEND VNET_SOURCES
1132 devices/tap/cli.c
1133 devices/tap/tap.c
1134 devices/tap/tapv2_api.c
1135)
1136
1137list(APPEND VNET_HEADERS
1138 devices/tap/tap.h
1139)
1140
1141list(APPEND VNET_API_FILES devices/tap/tapv2.api)
1142
1143##############################################################################
1144# tap interface (with virtio backend)
1145##############################################################################
1146
1147list(APPEND VNET_SOURCES
1148 devices/pipe/pipe_api.c
1149 devices/pipe/pipe.c
1150)
1151
1152list(APPEND VNET_HEADERS
1153 devices/pipe/pipe.h
1154)
1155
1156list(APPEND VNET_API_FILES devices/pipe/pipe.api)
1157
1158##############################################################################
1159# session managmeent
1160##############################################################################
1161
1162list(APPEND VNET_SOURCES
1163 session/session.c
Florin Coras11166672020-04-13 01:20:25 +00001164 session/session_debug.c
Damjan Marion4553c952018-08-26 11:04:40 +02001165 session/session_table.c
1166 session/session_rules_table.c
1167 session/session_lookup.c
1168 session/session_node.c
1169 session/transport.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001170 session/application.c
Florin Coras623eb562019-02-03 19:28:34 -08001171 session/application_worker.c
Damjan Marion4553c952018-08-26 11:04:40 +02001172 session/session_cli.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001173 session/application_interface.c
Florin Corasba7d8f52019-02-22 13:11:38 -08001174 session/application_local.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001175 session/application_namespace.c
Damjan Marion4553c952018-08-26 11:04:40 +02001176 session/segment_manager.c
Damjan Marion4553c952018-08-26 11:04:40 +02001177 session/session_api.c
1178)
1179
1180list(APPEND VNET_HEADERS
1181 session/session.h
1182 session/session_table.h
1183 session/session_rules_table.h
Florin Coras288eaab2019-02-03 15:26:14 -08001184 session/session_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001185 session/session_lookup.h
1186 session/application.h
1187 session/transport.h
Florin Coras1ee78302019-02-05 15:51:15 -08001188 session/transport_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001189 session/application_interface.h
Florin Corasba7d8f52019-02-22 13:11:38 -08001190 session/application_local.h
Damjan Marion4553c952018-08-26 11:04:40 +02001191 session/application_namespace.h
1192 session/session_debug.h
1193 session/segment_manager.h
1194 session/mma_template.h
1195 session/mma_template.c
1196 session/mma_16.h
1197 session/mma_40.h
1198)
1199
1200list(APPEND VNET_API_FILES session/session.api)
1201
1202##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001203# TLS protocol
1204##############################################################################
1205
1206list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001207 tls/tls.c
Damjan Marion4553c952018-08-26 11:04:40 +02001208)
1209
1210list(APPEND VNET_HEADERS
1211 tls/tls.h
Florin Coras54a51fd2019-02-07 15:34:52 -08001212 tls/tls_test.h
Damjan Marion4553c952018-08-26 11:04:40 +02001213)
1214
1215##############################################################################
1216# Linux packet interface
1217##############################################################################
1218
1219list(APPEND VNET_SOURCES
1220 devices/af_packet/af_packet.c
1221 devices/af_packet/device.c
1222 devices/af_packet/node.c
1223 devices/af_packet/cli.c
1224 devices/af_packet/af_packet_api.c
1225)
1226
Filip Tehlaraee73642019-03-13 05:50:44 -07001227list(APPEND VNET_MULTIARCH_SOURCES
Filip Tehlaraee73642019-03-13 05:50:44 -07001228 devices/af_packet/device.c
1229)
1230
Damjan Marion4553c952018-08-26 11:04:40 +02001231list(APPEND VNET_HEADERS
1232 devices/af_packet/af_packet.h
1233)
1234
1235list(APPEND VNET_API_FILES devices/af_packet/af_packet.api)
1236
1237##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001238# Driver feature graph arc support
1239##############################################################################
1240
1241list(APPEND VNET_SOURCES
1242 feature/feature.c
1243 feature/feature_api.c
1244 feature/registration.c
1245)
1246
1247list(APPEND VNET_HEADERS
1248 feature/feature.h
1249)
1250
1251list(APPEND VNET_API_FILES feature/feature.api)
1252
1253##############################################################################
1254# Unix kernel related
1255##############################################################################
1256
1257# FIXME: unix/hgshm.c
1258
1259list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001260 unix/gdb_funcs.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001261 unix/tuntap.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001262)
1263
Damjan Marion4553c952018-08-26 11:04:40 +02001264list(APPEND VNET_HEADERS
Damjan Marion4553c952018-08-26 11:04:40 +02001265 unix/tuntap.h
Damjan Marion612dd6a2018-07-30 12:45:07 +02001266)
1267
Damjan Marion4553c952018-08-26 11:04:40 +02001268##############################################################################
1269# FIB
1270##############################################################################
1271
1272list(APPEND VNET_SOURCES
1273 fib/fib.c
Damjan Marion4553c952018-08-26 11:04:40 +02001274 fib/ip4_fib.c
1275 fib/ip6_fib.c
1276 fib/mpls_fib.c
1277 fib/fib_table.c
1278 fib/fib_walk.c
1279 fib/fib_types.c
1280 fib/fib_node.c
1281 fib/fib_node_list.c
1282 fib/fib_entry.c
1283 fib/fib_entry_src.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001284 fib/fib_entry_src_adj.c
1285 fib/fib_entry_src_api.c
1286 fib/fib_entry_src_drop.c
Damjan Marion4553c952018-08-26 11:04:40 +02001287 fib/fib_entry_src_interface.c
1288 fib/fib_entry_src_interpose.c
Damjan Marion4553c952018-08-26 11:04:40 +02001289 fib/fib_entry_src_lisp.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001290 fib/fib_entry_src_mpls.c
1291 fib/fib_entry_src_simple.c
1292 fib/fib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001293 fib/fib_entry_cover.c
1294 fib/fib_entry_delegate.c
Neale Ranns1f50bf82019-07-16 15:28:52 +00001295 fib/fib_entry_track.c
Damjan Marion4553c952018-08-26 11:04:40 +02001296 fib/fib_path_list.c
1297 fib/fib_path.c
1298 fib/fib_path_ext.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001299 fib/fib_source.c
Damjan Marion4553c952018-08-26 11:04:40 +02001300 fib/fib_urpf_list.c
1301 fib/fib_attached_export.c
1302 fib/fib_api.c
1303 fib/fib_bfd.c
1304)
1305
1306list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001307 fib/fib.h
Damjan Marion4553c952018-08-26 11:04:40 +02001308 fib/fib_api.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001309 fib/ip4_fib.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001310 fib/ip6_fib.h
1311 fib/fib_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001312 fib/fib_table.h
1313 fib/fib_node.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001314 fib/fib_node_list.h
Damjan Marion4553c952018-08-26 11:04:40 +02001315 fib/fib_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001316 fib/fib_entry_delegate.h
Neale Ranns3bab8f92019-12-04 06:11:00 +00001317 fib/fib_source.h
Damjan Marion4553c952018-08-26 11:04:40 +02001318)
1319
Benoît Ganned39495d2019-07-25 14:14:03 +02001320list(APPEND VNET_API_FILES fib/fib_types.api)
1321
Damjan Marion4553c952018-08-26 11:04:40 +02001322##############################################################################
1323# ADJ
1324##############################################################################
1325
1326list(APPEND VNET_SOURCES
1327 adj/adj_nbr.c
1328 adj/adj_glean.c
1329 adj/adj_midchain.c
Neale Ranns4c3ba812019-03-26 07:02:58 +00001330 adj/adj_midchain_delegate.c
Damjan Marion4553c952018-08-26 11:04:40 +02001331 adj/adj_mcast.c
1332 adj/adj_l2.c
1333 adj/adj_nsh.c
1334 adj/adj.c
1335 adj/rewrite.c
1336 adj/adj_bfd.c
1337 adj/adj_delegate.c
1338)
1339
Filip Tehlar0b2c15d2019-03-04 02:52:54 -08001340list(APPEND VNET_MULTIARCH_SOURCES
1341 adj/adj_nsh.c
1342 adj/adj_l2.c
1343)
1344
Damjan Marion4553c952018-08-26 11:04:40 +02001345list(APPEND VNET_HEADERS
1346 adj/adj.h
1347 adj/adj_types.h
1348 adj/adj_glean.h
1349 adj/adj_nsh.h
1350 adj/adj_nbr.h
Alberto Compagnod8ca1e42019-08-12 11:43:19 +02001351 adj/adj_midchain.h
Damjan Marion4553c952018-08-26 11:04:40 +02001352 adj/rewrite.h
1353)
1354
1355##############################################################################
1356# Data-Plane Objects
1357##############################################################################
1358
1359list(APPEND VNET_SOURCES
1360 dpo/dpo.c
1361 dpo/drop_dpo.c
1362 dpo/ip_null_dpo.c
1363 dpo/ip6_ll_dpo.c
1364 dpo/punt_dpo.c
1365 dpo/receive_dpo.c
1366 dpo/load_balance.c
1367 dpo/load_balance_map.c
1368 dpo/lookup_dpo.c
1369 dpo/classify_dpo.c
1370 dpo/replicate_dpo.c
1371 dpo/interface_rx_dpo.c
1372 dpo/interface_tx_dpo.c
1373 dpo/mpls_disposition.c
1374 dpo/mpls_label_dpo.c
1375 dpo/l3_proxy_dpo.c
1376 dpo/dvr_dpo.c
Neale Ranns1dbcf302019-07-19 11:44:53 +00001377 dpo/pw_cw.c
Damjan Marion4553c952018-08-26 11:04:40 +02001378)
1379
Filip Tehlareb9a27f2019-03-07 01:42:11 -08001380list(APPEND VNET_MULTIARCH_SOURCES
1381 dpo/lookup_dpo.h
1382 dpo/mpls_disposition.c
1383 dpo/dvr_dpo.c
1384 dpo/mpls_label_dpo.c
1385 dpo/interface_rx_dpo.c
1386)
1387
Damjan Marion4553c952018-08-26 11:04:40 +02001388list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001389 dpo/load_balance.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001390 dpo/drop_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001391 dpo/lookup_dpo.h
1392 dpo/punt_dpo.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001393 dpo/classify_dpo.h
1394 dpo/receive_dpo.h
1395 dpo/ip_null_dpo.h
1396 dpo/replicate_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001397 dpo/dpo.h
1398)
1399
1400##############################################################################
1401# Multicast FIB
1402##############################################################################
1403
1404list(APPEND VNET_SOURCES
Damjan Marion4553c952018-08-26 11:04:40 +02001405 mfib/mfib_forward.c
1406 mfib/ip4_mfib.c
1407 mfib/ip6_mfib.c
Neale Ranns097fa662018-05-01 05:17:55 -07001408 mfib/mfib_api.c
Damjan Marion4553c952018-08-26 11:04:40 +02001409 mfib/mfib_types.c
1410 mfib/mfib_signal.c
1411 mfib/mfib_itf.c
1412 mfib/mfib_entry.c
Neale Ranns9e829a82018-12-17 05:50:32 -08001413 mfib/mfib_entry.c
1414 mfib/mfib_entry_cover.c
1415 mfib/mfib_entry_delegate.c
1416 mfib/mfib_entry_src.c
1417 mfib/mfib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001418 mfib/mfib_table.c
1419)
1420
Filip Tehlar79c27eb2019-03-07 00:30:03 -08001421list(APPEND VNET_MULTIARCH_SOURCES
1422 mfib/mfib_forward.c
1423)
1424
Damjan Marion4553c952018-08-26 11:04:40 +02001425list(APPEND VNET_HEADERS
1426 mfib/ip4_mfib.h
1427 mfib/mfib_types.h
1428 mfib/mfib_table.h
1429)
1430
Benoît Ganned39495d2019-07-25 14:14:03 +02001431list(APPEND VNET_API_FILES mfib/mfib_types.api)
1432
Damjan Marion4553c952018-08-26 11:04:40 +02001433##############################################################################
1434# Utilities
1435##############################################################################
1436
1437list(APPEND VNET_SOURCES
1438 util/radix.c
1439 util/refcount.c
Neale Rannsc8352bc2018-08-29 10:23:58 -07001440 util/throttle.c
Damjan Marion4553c952018-08-26 11:04:40 +02001441 util/trajectory.c
1442)
1443
Damjan Marionac5554c2018-08-30 22:56:59 +02001444list(APPEND VNET_HEADERS
1445 util/throttle.h
1446)
1447
Damjan Marion4553c952018-08-26 11:04:40 +02001448##############################################################################
1449# QoS
1450##############################################################################
1451
1452list(APPEND VNET_SOURCES
1453 qos/qos_types.c
1454 qos/qos_api.c
1455 qos/qos_egress_map.c
1456 qos/qos_record.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001457 qos/qos_record_node.c
Neale Ranns83832e72019-07-31 02:48:02 -07001458 qos/qos_store.c
1459 qos/qos_store_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001460 qos/qos_mark.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001461 qos/qos_mark_node.c
1462)
1463
1464list(APPEND VNET_MULTIARCH_SOURCES
1465 qos/qos_record_node.c
1466 qos/qos_mark_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001467)
1468
1469list(APPEND VNET_API_FILES qos/qos.api)
1470
1471##############################################################################
1472# BIER
1473##############################################################################
1474
1475list(APPEND VNET_SOURCES
1476 bier/bier_bit_string.c
1477 bier/bier_entry.c
1478 bier/bier_fmask.c
1479 bier/bier_fmask_db.c
1480 bier/bier_input.c
1481 bier/bier_lookup.c
1482 bier/bier_output.c
1483 bier/bier_table.c
1484 bier/bier_types.c
Damjan Marion4553c952018-08-26 11:04:40 +02001485 bier/bier_api.c
1486 bier/bier_drop.c
1487 bier/bier_update.c
1488 bier/bier_imp_node.c
1489 bier/bier_imp.c
1490 bier/bier_disp_entry.c
1491 bier/bier_disp_lookup_node.c
1492 bier/bier_disp_dispatch_node.c
1493 bier/bier_disp_table.c
1494 bier/bier_bift_table.c
1495)
1496
Filip Tehlara01e0322019-03-05 03:34:52 -08001497list(APPEND VNET_MULTIARCH_SOURCES
1498 bier/bier_disp_dispatch_node.c
1499 bier/bier_disp_lookup_node.c
1500 bier/bier_imp_node.c
1501)
1502
Damjan Marion4553c952018-08-26 11:04:40 +02001503list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001504 bier/bier_types.h
1505 bier/bier_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001506 bier/bier_update.h
Damjan Marion4553c952018-08-26 11:04:40 +02001507 bier/bier_table.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001508)
1509
Damjan Marion4553c952018-08-26 11:04:40 +02001510list(APPEND VNET_API_FILES bier/bier.api)
Damjan Marion612dd6a2018-07-30 12:45:07 +02001511
Florin Coras41c9e042018-09-11 00:10:41 -07001512##############################################################################
Matus Fabianb4515b42018-11-19 04:25:32 -08001513# SYSLOG
1514##############################################################################
1515
1516list (APPEND VNET_SOURCES
1517 syslog/syslog_api.c
1518 syslog/syslog_udp.c
1519 syslog/syslog.c
1520)
1521
1522list(APPEND VNET_HEADERS
1523 syslog/syslog_udp.h
1524 syslog/syslog.h
1525)
1526
1527list(APPEND VNET_API_FILES syslog/syslog.api)
1528
1529##############################################################################
Neale Ranns03ce4622020-02-03 10:55:09 +00001530# Tunnel Endpoint Information Base
Neale Ranns5f8f6172019-04-18 10:23:56 +00001531##############################################################################
1532
1533list (APPEND VNET_SOURCES
Neale Ranns03ce4622020-02-03 10:55:09 +00001534 teib/teib_api.c
1535 teib/teib_cli.c
1536 teib/teib.c
Neale Ranns5f8f6172019-04-18 10:23:56 +00001537)
1538
1539list(APPEND VNET_HEADERS
Neale Ranns03ce4622020-02-03 10:55:09 +00001540 teib/teib.h
Neale Ranns5f8f6172019-04-18 10:23:56 +00001541)
1542
Neale Ranns03ce4622020-02-03 10:55:09 +00001543list(APPEND VNET_API_FILES teib/teib.api)
Neale Ranns5f8f6172019-04-18 10:23:56 +00001544
1545##############################################################################
Neale Rannscbe25aa2019-09-30 10:53:31 +00001546# ARP/ND
1547##############################################################################
1548
1549list (APPEND VNET_SOURCES
1550 arp/arp_api.c
1551 arp/arp.c
1552 arp/arp_proxy.c
1553)
1554
1555list(APPEND VNET_HEADERS
1556 arp/arp.h
1557)
1558
1559list(APPEND VNET_API_FILES arp/arp.api)
1560
1561list (APPEND VNET_SOURCES
1562 ip6-nd/ip6_mld.c
1563 ip6-nd/ip6_nd.c
1564 ip6-nd/ip6_nd_api.c
1565 ip6-nd/ip6_nd_proxy.c
1566 ip6-nd/ip6_ra.c
1567 ip6-nd/rd_cp.c
1568 ip6-nd/rd_cp_api.c
1569)
1570
1571list(APPEND VNET_HEADERS
1572 ip6-nd/ip6_nd.h
1573)
1574
1575list(APPEND VNET_API_FILES
1576 ip6-nd/ip6_nd.api
1577 ip6-nd/rd_cp.api
1578)
1579
1580##############################################################################
Florin Coras41c9e042018-09-11 00:10:41 -07001581# VNET Library
1582##############################################################################
1583
Damjan Marion4553c952018-08-26 11:04:40 +02001584add_vpp_library(vnet
1585 SOURCES ${VNET_SOURCES}
1586 MULTIARCH_SOURCES ${VNET_MULTIARCH_SOURCES}
1587 INSTALL_HEADERS ${VNET_HEADERS}
1588 API_FILES ${VNET_API_FILES}
1589 LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES}
Chris Lukec171d012020-01-15 20:30:04 -05001590 DEPENDS vpp_version_h api_headers
Damjan Marion612dd6a2018-07-30 12:45:07 +02001591)
Florin Coras41c9e042018-09-11 00:10:41 -07001592
1593##############################################################################
Yulong Peidb43bb62020-01-09 01:12:43 +08001594# vpp api test client library
1595##############################################################################
1596
1597add_vpp_library (vatclient
1598 SOURCES ip/ip_types_api.c
1599 DEPENDS api_headers
1600)
1601
1602##############################################################################