blob: 5a9ae4c1a7f47a909995eaab489c8b76552d0749 [file] [log] [blame]
Damjan Marion612dd6a2018-07-30 12:45:07 +02001# Copyright (c) 2018 Cisco and/or its affiliates.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at:
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14add_definitions (-DWITH_LIBSSL=1)
Damjan Mariond16004d2018-08-26 10:14:52 +020015include_directories(${OPENSSL_INCLUDE_DIR})
16
Damjan Marion4553c952018-08-26 11:04:40 +020017unset(VNET_SOURCES)
18unset(VNET_HEADERS)
19unset(VNET_API_FILES)
20unset(VNET_MULTIARCH_SOURCES)
21
22##############################################################################
23# Generic stuff
24##############################################################################
25list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +020026 buffer.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020027 config.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020028 devices/devices.c
29 devices/netlink.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020030 flow/flow.c
31 flow/flow_cli.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020032 handoff.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020033 interface.c
Damjan Marion4553c952018-08-26 11:04:40 +020034 interface_api.c
Damjan Marion612dd6a2018-07-30 12:45:07 +020035 interface_cli.c
36 interface_format.c
37 interface_output.c
38 interface_stats.c
Damjan Marion4553c952018-08-26 11:04:40 +020039 misc.c
Damjan Marion4553c952018-08-26 11:04:40 +020040)
41
Filip Tehlar62668772019-03-04 03:33:32 -080042list(APPEND VNET_MULTIARCH_SOURCES
43 interface_output.c
44 interface_stats.c
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -070045 handoff.c
Filip Tehlar62668772019-03-04 03:33:32 -080046)
47
Damjan Marion4553c952018-08-26 11:04:40 +020048list(APPEND VNET_HEADERS
49 api_errno.h
50 buffer.h
51 config.h
52 devices/devices.h
53 devices/netlink.h
54 flow/flow.h
55 global_funcs.h
56 handoff.h
57 interface.h
58 interface_funcs.h
59 ip/ip4_to_ip6.h
60 ip/ip6_to_ip4.h
Benoît Ganne09267f72019-05-17 14:24:17 +020061 ip/ip_types_api.h
Damjan Marion4553c952018-08-26 11:04:40 +020062 l3_types.h
63 plugin/plugin.h
64 pipeline.h
Damjan Marion4553c952018-08-26 11:04:40 +020065 vnet.h
66 vnet_all_api_h.h
67 vnet_msg_enum.h
68 util/radix.h
69 util/refcount.h
70)
71
Benoît Ganne09267f72019-05-17 14:24:17 +020072list(APPEND VNET_API_FILES
73 interface.api
Benoît Ganned39495d2019-07-25 14:14:03 +020074 interface_types.api
Benoît Ganne09267f72019-05-17 14:24:17 +020075 ip/ip_types.api
76)
Damjan Marion4553c952018-08-26 11:04:40 +020077
78##############################################################################
79# Policer infra
80##############################################################################
81list(APPEND VNET_SOURCES
82 policer/node_funcs.c
83 policer/policer.c
84 policer/xlate.c
85 policer/policer_api.c
86)
87
Filip Tehlar30d93482019-03-06 04:28:32 -080088list(APPEND VNET_MULTIARCH_SOURCES
89 policer/node_funcs.c
90)
91
Damjan Marion4553c952018-08-26 11:04:40 +020092list(APPEND VNET_HEADERS
93 policer/police.h
94 policer/policer.h
95 policer/xlate.h
96)
97
98list(APPEND VNET_API_FILES policer/policer.api)
99
100##############################################################################
101# Cop - junk filter
102##############################################################################
103list(APPEND VNET_SOURCES
104 cop/cop.c
105 cop/node1.c
106 cop/ip4_whitelist.c
107 cop/ip6_whitelist.c
108 cop/cop_api.c
109)
110
Filip Tehlar1fc33b32019-03-05 01:22:04 -0800111list(APPEND VNET_MULTIARCH_SOURCES
112 cop/node1.c
113 cop/ip4_whitelist.c
114 cop/ip6_whitelist.c
115)
116
Damjan Marion4553c952018-08-26 11:04:40 +0200117list(APPEND VNET_HEADERS
118 cop/cop.h
119)
120
121list(APPEND VNET_API_FILES cop/cop.api)
122
123##############################################################################
124# Layer 2 protocols go here
125##############################################################################
126
127##############################################################################
128# Layer 2 protocol: Ethernet
129##############################################################################
130list(APPEND VNET_SOURCES
Neale Rannscbe25aa2019-09-30 10:53:31 +0000131 ethernet/arp_packet.c
Neale Rannsde5b08f2018-08-29 06:37:18 -0700132 ethernet/ethernet_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +0200133 ethernet/format.c
134 ethernet/init.c
135 ethernet/interface.c
Neale Rannsde5b08f2018-08-29 06:37:18 -0700136 ethernet/mac_address.c
Damjan Marion4553c952018-08-26 11:04:40 +0200137 ethernet/node.c
138 ethernet/pg.c
139 ethernet/sfp.c
140 ethernet/p2p_ethernet.c
141 ethernet/p2p_ethernet_input.c
142 ethernet/p2p_ethernet_api.c
143)
144
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700145list(APPEND VNET_MULTIARCH_SOURCES
146 ethernet/node.c
147 ethernet/p2p_ethernet_input.c
148)
Damjan Marion4553c952018-08-26 11:04:40 +0200149
150list(APPEND VNET_HEADERS
151 ethernet/error.def
152 ethernet/ethernet.h
Jon Loeliger330bf932018-11-28 13:51:42 -0600153 ethernet/mac_address.h
Damjan Marion4553c952018-08-26 11:04:40 +0200154 ethernet/packet.h
155 ethernet/types.def
156 ethernet/sfp.h
157 ethernet/p2p_ethernet.h
Neale Rannscbe25aa2019-09-30 10:53:31 +0000158 ethernet/arp_packet.h
Damjan Marion4553c952018-08-26 11:04:40 +0200159)
160
Benoît Ganned39495d2019-07-25 14:14:03 +0200161list(APPEND VNET_API_FILES
162 ethernet/p2p_ethernet.api
163 ethernet/ethernet_types.api)
Damjan Marion4553c952018-08-26 11:04:40 +0200164
165##############################################################################
166# Layer 2 protocol: Ethernet bridging
167##############################################################################
168list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200169 l2/feat_bitmap.c
170 l2/l2_api.c
Neale Rannscbe25aa2019-09-30 10:53:31 +0000171 l2/l2_arp_term.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200172 l2/l2_bd.c
173 l2/l2_bvi.c
Neale Ranns192b13f2019-03-15 02:16:20 -0700174 l2/l2_bvi_node.c
Damjan Marion4553c952018-08-26 11:04:40 +0200175 l2/l2_input_classify.c
176 l2/l2_output_classify.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200177 l2/l2_efp_filter.c
178 l2/l2_fib.c
179 l2/l2_flood.c
180 l2/l2_fwd.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200181 l2/l2_input.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200182 l2/l2_input_vtr.c
183 l2/l2_learn.c
184 l2/l2_output.c
Damjan Marion4553c952018-08-26 11:04:40 +0200185 l2/l2_in_out_acl.c
Andrew Yourtchenkoa23cade2018-10-06 09:18:00 +0200186 l2/l2_in_out_feat_arc.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200187 l2/l2_patch.c
188 l2/l2_rw.c
Neale Rannsb4743802018-09-05 09:13:57 -0700189 l2/l2_uu_fwd.c
Damjan Marion612dd6a2018-07-30 12:45:07 +0200190 l2/l2_vtr.c
191 l2/l2_xcrw.c
Damjan Marion4553c952018-08-26 11:04:40 +0200192)
193
Neale Rannsc25eb452018-09-12 06:53:03 -0400194list(APPEND VNET_MULTIARCH_SOURCES
Neale Ranns192b13f2019-03-15 02:16:20 -0700195 l2/l2_bvi_node.c
Neale Rannsc25eb452018-09-12 06:53:03 -0400196 l2/l2_fwd.c
197 l2/l2_learn.c
198 l2/l2_output.c
Damjan Marionc3baf622018-11-06 13:33:27 +0100199 l2/l2_patch.c
Filip Tehlar44f0f712019-03-11 04:26:37 -0700200 l2/l2_in_out_feat_arc.c
201 l2/l2_input_classify.c
202 l2/l2_input.c
203 l2/l2_output_classify.c
204 l2/l2_flood.c
205 l2/l2_uu_fwd.c
206 l2/l2_efp_filter.c
207 l2/l2_rw.c
208 l2/l2_xcrw.c
209 l2/l2_in_out_acl.c
210 l2/l2_input_vtr.c
Neale Rannsc25eb452018-09-12 06:53:03 -0400211)
Neale Rannseb1525f2018-09-09 04:41:02 -0400212
Damjan Marion4553c952018-08-26 11:04:40 +0200213list(APPEND VNET_HEADERS
214 l2/feat_bitmap.h
215 l2/l2_input.h
216 l2/l2_output.h
217 l2/l2_vtr.h
218 l2/l2_input_vtr.h
219 l2/l2_efp_filter.h
220 l2/l2_fwd.h
221 l2/l2_bd.h
222 l2/l2_bvi.h
223 l2/l2_flood.h
224 l2/l2_fib.h
225 l2/l2_rw.h
226 l2/l2_xcrw.h
227 l2/l2_classify.h
228)
229
230list(APPEND VNET_API_FILES l2/l2.api)
231
232##############################################################################
233# Layer 2 protocol: SRP
234##############################################################################
235list(APPEND VNET_SOURCES
236 srp/format.c
237 srp/interface.c
238 srp/node.c
239 srp/pg.c
240)
241
242list(APPEND VNET_HEADERS
243 srp/packet.h
244 srp/srp.h
245)
246
247##############################################################################
248# Layer 2 protocol: PPP
249##############################################################################
250list(APPEND VNET_SOURCES
251 ppp/node.c
252 ppp/pg.c
253 ppp/ppp.c
254)
255
256list(APPEND VNET_HEADERS
257 ppp/error.def
258 ppp/ppp.h
259 ppp/packet.h
260)
261
262##############################################################################
263# Layer 2 protocol: HDLC
264##############################################################################
265list(APPEND VNET_SOURCES
266 hdlc/node.c
267 hdlc/pg.c
268 hdlc/hdlc.c
269)
270
271list(APPEND VNET_HEADERS
272 hdlc/error.def
273 hdlc/hdlc.h
274 hdlc/packet.h
275)
276
277##############################################################################
278# Layer 2 protocol: LLC
279##############################################################################
280list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200281 llc/llc.c
282 llc/node.c
283 llc/pg.c
Damjan Marion4553c952018-08-26 11:04:40 +0200284)
285
286list(APPEND VNET_HEADERS
287 llc/llc.h
288)
289
290##############################################################################
291# Layer 2 protocol: SNAP
292##############################################################################
293list(APPEND VNET_SOURCES
294 snap/snap.c
295 snap/node.c
296 snap/pg.c
297)
298
299list(APPEND VNET_HEADERS
300 snap/snap.h
301)
302
303##############################################################################
304# Layer 2 / vxlan
305##############################################################################
306list(APPEND VNET_SOURCES
307 vxlan/vxlan.c
308 vxlan/encap.c
309 vxlan/decap.c
310 vxlan/vxlan_api.c
311)
312
Filip Tehlare1714d32019-03-05 03:01:43 -0800313list(APPEND VNET_MULTIARCH_SOURCES
314 vxlan/encap.c
315)
316
Damjan Marion4553c952018-08-26 11:04:40 +0200317list(APPEND VNET_HEADERS
318 vxlan/vxlan.h
319 vxlan/vxlan_packet.h
320 vxlan/vxlan_error.def
321)
322
Eyal Baria5679e82018-08-26 15:20:07 +0300323list(APPEND VNET_MULTIARCH_SOURCES vxlan/decap.c)
324
Damjan Marion4553c952018-08-26 11:04:40 +0200325list(APPEND VNET_API_FILES vxlan/vxlan.api)
326
327##############################################################################
328# Layer 2 / Geneve
329##############################################################################
330list(APPEND VNET_SOURCES
331 geneve/geneve.c
332 geneve/encap.c
333 geneve/decap.c
334 geneve/geneve_api.c
335)
336
Filip Tehlar55333d72019-03-05 00:36:04 -0800337list(APPEND VNET_MULTIARCH_SOURCES
338 geneve/encap.c
339 geneve/decap.c
340)
341
Damjan Marion4553c952018-08-26 11:04:40 +0200342list(APPEND VNET_HEADERS
343 geneve/geneve.h
344 geneve/geneve_packet.h
345 geneve/geneve_error.def
346)
347
348list(APPEND VNET_API_FILES geneve/geneve.api)
349
350##############################################################################
351# Layer 2 / Bonding
352##############################################################################
353list(APPEND VNET_SOURCES
354 bonding/cli.c
355 bonding/node.c
356 bonding/device.c
357 bonding/bond_api.c
358)
359
360list(APPEND VNET_HEADERS
361 bonding/node.h
362)
363
Damjan Marioncefe1342018-09-21 18:11:33 +0200364list(APPEND VNET_MULTIARCH_SOURCES bonding/node.c bonding/device.c)
Damjan Marion4553c952018-08-26 11:04:40 +0200365list(APPEND VNET_API_FILES bonding/bond.api)
366
367##############################################################################
368# Layer 2 / LLDP
369##############################################################################
370list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200371 lldp/lldp_input.c
372 lldp/lldp_node.c
373 lldp/lldp_output.c
Damjan Marion4553c952018-08-26 11:04:40 +0200374 lldp/lldp_cli.c
375 lldp/lldp_api.c
376)
377
378list(APPEND VNET_HEADERS
379 lldp/lldp_protocol.h
380 lldp/lldp.h
381)
382
383list(APPEND VNET_API_FILES lldp/lldp.api)
384
385##############################################################################
386# Layer 2/3 "classify"
387##############################################################################
388list(APPEND VNET_SOURCES
389 classify/vnet_classify.c
Dave Barach9137e542019-09-13 17:47:50 -0400390 classify/trace_classify.h
Damjan Marion4553c952018-08-26 11:04:40 +0200391 classify/ip_classify.c
392 classify/in_out_acl.c
393 classify/policer_classify.c
394 classify/flow_classify.c
395 classify/flow_classify_node.c
396 classify/vnet_classify.h
397 classify/classify_api.c
398)
399
Filip Tehlare8cb5212019-03-06 04:50:34 -0800400list(APPEND VNET_MULTIARCH_SOURCES
401 classify/ip_classify.c
402 classify/flow_classify_node.c
403)
404
Damjan Marion4553c952018-08-26 11:04:40 +0200405list(APPEND VNET_HEADERS
406 classify/vnet_classify.h
Dave Barach9137e542019-09-13 17:47:50 -0400407 classify/trace_classify.h
Damjan Marion4553c952018-08-26 11:04:40 +0200408 classify/in_out_acl.h
409 classify/policer_classify.h
410 classify/flow_classify.h
411)
412
413list(APPEND VNET_API_FILES classify/classify.api)
414
415##############################################################################
416# Layer 3 protocols go here
417##############################################################################
418
419##############################################################################
420# Layer 3 protocol: IP v4/v6
421##############################################################################
422list(APPEND VNET_SOURCES
423 ip/format.c
424 ip/icmp4.c
425 ip/icmp6.c
426 ip/ip46_cli.c
427 ip/ip_types_api.c
Neale Rannscbe25aa2019-09-30 10:53:31 +0000428 ip/ip46_address.c
Damjan Marion4553c952018-08-26 11:04:40 +0200429 ip/ip4_format.c
430 ip/ip4_forward.c
431 ip/ip4_punt_drop.c
432 ip/ip4_input.c
433 ip/ip4_options.c
434 ip/ip4_mtrie.c
435 ip/ip4_pg.c
436 ip/ip4_source_and_port_range_check.c
437 ip/ip4_source_check.c
Klement Sekera896c8962019-06-24 11:52:49 +0000438 ip/reass/ip4_full_reass.c
Klement Sekerade34c352019-06-25 11:19:22 +0000439 ip/reass/ip4_sv_reass.c
Damjan Marion4553c952018-08-26 11:04:40 +0200440 ip/ip6_format.c
441 ip/ip6_forward.c
442 ip/ip6_ll_table.c
443 ip/ip6_ll_types.c
444 ip/ip6_punt_drop.c
445 ip/ip6_hop_by_hop.c
446 ip/ip6_input.c
Neale Rannscbe25aa2019-09-30 10:53:31 +0000447 ip/ip6_link.c
Damjan Marion4553c952018-08-26 11:04:40 +0200448 ip/ip6_pg.c
Klement Sekera896c8962019-06-24 11:52:49 +0000449 ip/reass/ip6_full_reass.c
Klement Sekerade34c352019-06-25 11:19:22 +0000450 ip/reass/ip6_sv_reass.c
Damjan Marion4553c952018-08-26 11:04:40 +0200451 ip/ip_api.c
452 ip/ip_checksum.c
453 ip/ip_frag.c
454 ip/ip.c
455 ip/ip_init.c
456 ip/ip_in_out_acl.c
Neale Ranns92207752019-06-03 13:21:40 +0000457 ip/ip_punt_drop.c
Neale Rannsea93e482019-11-12 17:16:47 +0000458 ip/ip_types.c
Damjan Marion4553c952018-08-26 11:04:40 +0200459 ip/lookup.c
Damjan Marion4553c952018-08-26 11:04:40 +0200460 ip/punt_api.c
461 ip/punt.c
Neale Ranns50f0ac02019-05-15 02:13:37 -0700462 ip/punt_node.c
Damjan Marion4553c952018-08-26 11:04:40 +0200463)
464
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700465list(APPEND VNET_MULTIARCH_SOURCES
466 ip/ip4_source_check.c
467 ip/ip4_punt_drop.c
Klement Sekera896c8962019-06-24 11:52:49 +0000468 ip/reass/ip4_full_reass.c
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700469 ip/ip6_hop_by_hop.c
Klement Sekera896c8962019-06-24 11:52:49 +0000470 ip/reass/ip6_full_reass.c
Klement Sekerade34c352019-06-25 11:19:22 +0000471 ip/reass/ip4_sv_reass.c
472 ip/ip6_hop_by_hop.c
473 ip/reass/ip6_full_reass.c
474 ip/reass/ip6_sv_reass.c
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700475 ip/ip6_input.c
476 ip/ip6_punt_drop.c
Neale Ranns50f0ac02019-05-15 02:13:37 -0700477 ip/punt_node.c
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700478 ip/ip_in_out_acl.c
479)
480
Damjan Marion4553c952018-08-26 11:04:40 +0200481list(APPEND VNET_HEADERS
482 ip/format.h
483 ip/icmp46_packet.h
484 ip/icmp4.h
485 ip/icmp6.h
486 ip/igmp_packet.h
487 ip/ip4_error.h
488 ip/ip4.h
489 ip/ip4_mtrie.h
490 ip/ip4_packet.h
Neale Rannscbe25aa2019-09-30 10:53:31 +0000491 ip/ip46_address.h
Damjan Marion4553c952018-08-26 11:04:40 +0200492 ip/ip6_error.h
493 ip/ip6.h
494 ip/ip6_hop_by_hop.h
495 ip/ip6_hop_by_hop_packet.h
496 ip/ip6_packet.h
Damjan Marion4553c952018-08-26 11:04:40 +0200497 ip/ip.h
498 ip/ip_packet.h
499 ip/ip_source_and_port_range_check.h
Neale Rannsea93e482019-11-12 17:16:47 +0000500 ip/ip_types.h
Damjan Marion4553c952018-08-26 11:04:40 +0200501 ip/lookup.h
502 ip/ports.def
503 ip/protocols.def
504 ip/punt_error.def
505 ip/punt.h
506)
507
508list(APPEND VNET_API_FILES
509 ip/ip.api
Damjan Marion4553c952018-08-26 11:04:40 +0200510 ip/punt.api
511)
512
Damjan Marion38173502019-02-13 19:30:09 +0100513list(APPEND VNET_MULTIARCH_SOURCES
514 ip/ip4_forward.c
515 ip/ip6_forward.c
516 ip/ip4_input.c
517)
Damjan Marion4553c952018-08-26 11:04:40 +0200518
519##############################################################################
Neale Rannscbe25aa2019-09-30 10:53:31 +0000520# Layer 3 neighbours
Damjan Marion4553c952018-08-26 11:04:40 +0200521##############################################################################
522list(APPEND VNET_SOURCES
Neale Rannscbe25aa2019-09-30 10:53:31 +0000523 ip-neighbor/ip_neighbor.c
524 ip-neighbor/ip_neighbor_api.c
525 ip-neighbor/ip_neighbor_dp.c
526 ip-neighbor/ip_neighbor_types.c
527 ip-neighbor/ip_neighbor_watch.c
528 ip-neighbor/ip4_neighbor.c
529 ip-neighbor/ip6_neighbor.c
Damjan Marion4553c952018-08-26 11:04:40 +0200530)
531
532list(APPEND VNET_HEADERS
Neale Rannscbe25aa2019-09-30 10:53:31 +0000533 ip-neighbor/ip_neighbor.h
534 ip-neighbor/ip_neighbor_types.h
535)
536
537list(APPEND VNET_API_FILES
538 ip-neighbor/ip_neighbor.api
Damjan Marion4553c952018-08-26 11:04:40 +0200539)
540
541##############################################################################
542# Bidirectional Forwarding Detection
543##############################################################################
544
545list(APPEND VNET_HEADERS
546 bfd/bfd_protocol.h
547 bfd/bfd_main.h
548 bfd/bfd_api.h
549 bfd/bfd_udp.h
550)
551
552list(APPEND VNET_SOURCES
553 bfd/bfd_api.h
554 bfd/bfd_udp.c
555 bfd/bfd_main.c
556 bfd/bfd_protocol.c
557 bfd/bfd_cli.c
558 bfd/bfd_api.c
559)
560
561list(APPEND VNET_API_FILES bfd/bfd.api)
562
563##############################################################################
Damjan Marion91f17dc2019-03-18 18:59:25 +0100564# Crypto
565##############################################################################
566
567list(APPEND VNET_SOURCES
568 crypto/cli.c
569 crypto/crypto.c
570 crypto/format.c
571)
572
573list(APPEND VNET_HEADERS
574 crypto/crypto.h
575)
576
577##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200578# Layer 3 protocol: IPSec
579##############################################################################
580list(APPEND VNET_SOURCES
581 ipsec/ipsec.c
582 ipsec/ipsec_cli.c
583 ipsec/ipsec_format.c
Neale Rannsf62a8c02019-04-02 08:13:33 +0000584 ipsec/ipsec_handoff.c
Damjan Marion4553c952018-08-26 11:04:40 +0200585 ipsec/ipsec_input.c
Neale Rannsb71fa752019-04-04 12:43:36 +0000586 ipsec/ipsec_punt.c
Neale Ranns999c8ee2019-02-01 03:31:24 -0800587 ipsec/ipsec_sa.c
588 ipsec/ipsec_spd.c
589 ipsec/ipsec_spd_policy.c
Neale Rannsc87b66c2019-02-07 07:26:12 -0800590 ipsec/ipsec_tun.c
591 ipsec/ipsec_tun_in.c
Damjan Marion4553c952018-08-26 11:04:40 +0200592 ipsec/esp_format.c
593 ipsec/esp_encrypt.c
594 ipsec/esp_decrypt.c
595 ipsec/ah_decrypt.c
596 ipsec/ah_encrypt.c
Damjan Marion4553c952018-08-26 11:04:40 +0200597 ipsec/ipsec_api.c
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530598 ipsec/ipsec_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +0200599)
600
Klement Sekerab8f35442018-10-29 13:38:19 +0100601list(APPEND VNET_MULTIARCH_SOURCES
602 ipsec/esp_encrypt.c
603 ipsec/esp_decrypt.c
604 ipsec/ah_decrypt.c
605 ipsec/ah_encrypt.c
Neale Rannsf62a8c02019-04-02 08:13:33 +0000606 ipsec/ipsec_handoff.c
Kingwel Xiec69ac312019-02-04 01:49:29 -0800607 ipsec/ipsec_output.c
608 ipsec/ipsec_input.c
Neale Rannsc87b66c2019-02-07 07:26:12 -0800609 ipsec/ipsec_tun_in.c
Klement Sekerab8f35442018-10-29 13:38:19 +0100610)
611
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530612list(APPEND VNET_API_FILES ipsec/ipsec_types.api)
Damjan Marion4553c952018-08-26 11:04:40 +0200613list(APPEND VNET_API_FILES ipsec/ipsec.api)
614
615list(APPEND VNET_SOURCES
616 ipsec/ipsec_output.c
617)
618
619list(APPEND VNET_HEADERS
620 ipsec/ipsec.h
Neale Ranns918c1612019-02-21 23:34:59 -0800621 ipsec/ipsec_spd.h
622 ipsec/ipsec_spd_policy.h
623 ipsec/ipsec_sa.h
Neale Ranns12989b52019-09-26 16:20:19 +0000624 ipsec/ipsec_tun.h
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530625 ipsec/ipsec_types_api.h
Neale Rannsba05e5d2019-06-07 05:17:07 -0700626 ipsec/ipsec_punt.h
Damjan Marion4553c952018-08-26 11:04:40 +0200627 ipsec/esp.h
628 ipsec/ah.h
Damjan Marion4553c952018-08-26 11:04:40 +0200629)
630
631##############################################################################
632# Layer 3 protocol: osi
633##############################################################################
634list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200635 osi/node.c
636 osi/osi.c
637 osi/pg.c
Damjan Marion4553c952018-08-26 11:04:40 +0200638)
639
640list(APPEND VNET_HEADERS
641 osi/osi.h
642)
643
644##############################################################################
645# Layer 4 protocol: tcp
646##############################################################################
647list(APPEND VNET_SOURCES
648 tcp/tcp_api.c
649 tcp/tcp_format.c
650 tcp/tcp_pg.c
651 tcp/tcp_syn_filter4.c
652 tcp/tcp_output.c
653 tcp/tcp_input.c
654 tcp/tcp_newreno.c
Florin Coras2e31cc32018-09-25 14:00:34 -0700655 tcp/tcp_cubic.c
Florin Coras52814732019-06-12 15:38:19 -0700656 tcp/tcp_bt.c
Florin Corasa436a422019-08-20 07:09:31 -0700657 tcp/tcp_debug.c
Damjan Marion4553c952018-08-26 11:04:40 +0200658 tcp/tcp.c
659)
660
Filip Tehlare275bed2019-03-06 00:06:56 -0800661list(APPEND VNET_MULTIARCH_SOURCES
662 tcp/tcp_input.c
663 tcp/tcp_output.c
664 tcp/tcp_syn_filter4.c
665)
666
Damjan Marion4553c952018-08-26 11:04:40 +0200667list(APPEND VNET_HEADERS
668 tcp/tcp_packet.h
669 tcp/tcp_timer.h
670 tcp/tcp_debug.h
671 tcp/tcp.h
672 tcp/tcp_error.def
673)
674
675list(APPEND VNET_API_FILES tcp/tcp.api)
676
677##############################################################################
678# Layer 4 protocol: udp
679##############################################################################
680list(APPEND VNET_SOURCES
681 udp/udp.c
682 udp/udp_input.c
683 udp/udp_format.c
684 udp/udp_local.c
685 udp/udp_pg.c
686 udp/udp_encap_node.c
687 udp/udp_encap.c
688 udp/udp_api.c
689)
690
Filip Tehlar2c49ffe2019-03-06 07:16:08 -0800691list(APPEND VNET_MULTIARCH_SOURCES
692 udp/udp_local.c
693 udp/udp_encap_node.c
694)
695
Damjan Marion4553c952018-08-26 11:04:40 +0200696list(APPEND VNET_HEADERS
697 udp/udp_error.def
698 udp/udp.h
699 udp/udp_packet.h
700)
701
702list(APPEND VNET_API_FILES udp/udp.api)
703
704##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200705# Tunnel protocol: gre
706##############################################################################
707list(APPEND VNET_SOURCES
708 gre/gre.c
709 gre/node.c
710 gre/interface.c
711 gre/pg.c
712 gre/gre_api.c
713)
714
Filip Tehlar0fce11f2019-03-04 09:21:59 -0800715list(APPEND VNET_MULTIARCH_SOURCES
716 gre/node.c
717 gre/gre.c
718)
719
Damjan Marion4553c952018-08-26 11:04:40 +0200720list(APPEND VNET_HEADERS
721 gre/gre.h
722 gre/packet.h
723 gre/error.def
724)
725
726list(APPEND VNET_API_FILES gre/gre.api)
727
728##############################################################################
729# Tunnel protocol: ipip
730##############################################################################
731list(APPEND VNET_SOURCES
732 ipip/ipip.c
733 ipip/node.c
734 ipip/sixrd.c
735 ipip/ipip_api.c
736 ipip/ipip_cli.c
737)
738
Filip Tehlar7a542f42019-03-05 04:50:23 -0800739list(APPEND VNET_MULTIARCH_SOURCES
740 ipip/node.c
741)
742
Damjan Marion4553c952018-08-26 11:04:40 +0200743list(APPEND VNET_HEADERS
744 ipip/ipip.h
745)
746
Neale Ranns95346962019-11-25 13:04:44 +0000747list(APPEND VNET_API_FILES
Neale Ranns95346962019-11-25 13:04:44 +0000748 ipip/ipip.api
749)
Damjan Marion4553c952018-08-26 11:04:40 +0200750
751##############################################################################
Neale Ranns59ff9182019-12-29 23:55:18 +0000752# Tunnel infra
753##############################################################################
754list(APPEND VNET_SOURCES
755 tunnel/tunnel.c
756 tunnel/tunnel_types_api.c
757)
758
759list(APPEND VNET_API_FILES
760 tunnel/tunnel_types.api
761)
762
763list(APPEND VNET_HEADERS
764 tunnel/tunnel.h
Neale Rannse5b94dd2019-12-31 05:13:14 +0000765 tunnel/tunnel_dp.h
Neale Ranns59ff9182019-12-29 23:55:18 +0000766)
767
768##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200769# Tunnel protocol: l2tpv3
770##############################################################################
771list(APPEND VNET_SOURCES
772 l2tp/l2tp.c
773 l2tp/encap.c
774 l2tp/decap.c
775 l2tp/pg.c
776 l2tp/l2tp_api.c
777)
778
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700779list(APPEND VNET_MULTIARCH_SOURCES
780 l2tp/encap.c
781 l2tp/decap.c
782)
783
Damjan Marion4553c952018-08-26 11:04:40 +0200784list(APPEND VNET_HEADERS
785 l2tp/l2tp.h
786 l2tp/packet.h
787)
788
789list(APPEND VNET_API_FILES l2tp/l2tp.api)
790
791##############################################################################
792# Tunnel protocol: gre+mpls
793##############################################################################
794list(APPEND VNET_SOURCES
795 mpls/mpls.c
796 mpls/mpls_lookup.c
797 mpls/mpls_output.c
798 mpls/mpls_features.c
799 mpls/mpls_input.c
800 mpls/interface.c
801 mpls/mpls_tunnel.c
802 mpls/pg.c
803 mpls/mpls_api.c
804)
805
Filip Tehlar17fcd982019-03-05 04:32:11 -0800806list(APPEND VNET_MULTIARCH_SOURCES
807 mpls/mpls_output.c
808 mpls/mpls_input.c
809 mpls/mpls_lookup.c
810 mpls/mpls_features.c
811)
812
Damjan Marion4553c952018-08-26 11:04:40 +0200813list(APPEND VNET_HEADERS
814 mpls/mpls.h
815 mpls/mpls_types.h
816 mpls/mpls_tunnel.h
817 mpls/packet.h
818 mpls/error.def
819)
820
821list(APPEND VNET_API_FILES mpls/mpls.api)
822
823##############################################################################
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200824# Tunnel protocol: vxlan-gbp
825##############################################################################
826list(APPEND VNET_SOURCES
827 vxlan-gbp/decap.c
828 vxlan-gbp/encap.c
829 vxlan-gbp/vxlan_gbp_api.c
830 vxlan-gbp/vxlan_gbp.c
Neale Ranns93cc3ee2018-10-10 07:22:51 -0700831 vxlan-gbp/vxlan_gbp_packet.c
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200832)
833
Filip Tehlare1714d32019-03-05 03:01:43 -0800834list (APPEND VNET_MULTIARCH_SOURCES
835 vxlan-gbp/decap.c
836 vxlan-gbp/encap.c
837)
838
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200839list(APPEND VNET_HEADERS
840 vxlan-gbp/vxlan_gbp.h
841 vxlan-gbp/vxlan_gbp_packet.h
842 vxlan-gbp/vxlan_gbp_error.def
843)
844
845list(APPEND VNET_API_FILES vxlan-gbp/vxlan_gbp.api)
846
847##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200848# Tunnel protocol: vxlan-gpe
849##############################################################################
850
851list(APPEND VNET_SOURCES
852 vxlan-gpe/vxlan_gpe.c
853 vxlan-gpe/encap.c
854 vxlan-gpe/decap.c
855 vxlan-gpe/vxlan_gpe_api.c
856)
857
Filip Tehlare1714d32019-03-05 03:01:43 -0800858list (APPEND VNET_MULTIARCH_SOURCES
859 vxlan-gpe/decap.c
860)
861
Damjan Marion4553c952018-08-26 11:04:40 +0200862list(APPEND VNET_HEADERS
863 vxlan-gpe/vxlan_gpe.h
864 vxlan-gpe/vxlan_gpe_packet.h
865 vxlan-gpe/vxlan_gpe_error.def
866)
867
868list(APPEND VNET_API_FILES vxlan-gpe/vxlan_gpe.api)
869
870##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200871# LISP control plane: lisp-cp
872##############################################################################
873
874list(APPEND VNET_SOURCES
875 lisp-cp/lisp_types.c
876 lisp-cp/lisp_cp_dpo.c
877 lisp-cp/control.c
878 lisp-cp/gid_dictionary.c
879 lisp-cp/lisp_msg_serdes.c
880 lisp-cp/packets.c
881 lisp-cp/one_cli.c
882 lisp-cp/lisp_cli.c
883 lisp-cp/one_api.c
884 lisp-cp/lisp_api.c
885)
886
887list(APPEND VNET_HEADERS
888 lisp-cp/lisp_types.h
889 lisp-cp/packets.h
890 lisp-cp/gid_dictionary.h
891 lisp-cp/lisp_cp_messages.h
892 lisp-cp/lisp_msg_serdes.h
893 lisp-cp/control.h
894)
895
896list(APPEND VNET_API_FILES lisp-cp/lisp.api)
897list(APPEND VNET_API_FILES lisp-cp/one.api)
898
899##############################################################################
900# Tunnel protocol: lisp-gpe
901##############################################################################
902
903list(APPEND VNET_SOURCES
904 lisp-gpe/lisp_gpe.c
905 lisp-gpe/lisp_gpe_sub_interface.c
906 lisp-gpe/lisp_gpe_adjacency.c
907 lisp-gpe/lisp_gpe_tunnel.c
908 lisp-gpe/lisp_gpe_fwd_entry.c
909 lisp-gpe/lisp_gpe_tenant.c
910 lisp-gpe/interface.c
911 lisp-gpe/decap.c
912 lisp-gpe/lisp_gpe_api.c
913)
914
915list(APPEND VNET_HEADERS
916 lisp-gpe/lisp_gpe.h
917 lisp-gpe/lisp_gpe_fwd_entry.h
918 lisp-gpe/lisp_gpe_tenant.h
919 lisp-gpe/lisp_gpe_packet.h
920 lisp-gpe/lisp_gpe_error.def
921)
922
923list(APPEND VNET_API_FILES lisp-gpe/lisp_gpe.api)
924
925##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200926# ipv6 segment routing
927##############################################################################
928
929list(APPEND VNET_SOURCES
930 srv6/sr.c
931 srv6/sr_localsid.c
932 srv6/sr_policy_rewrite.c
933 srv6/sr_steering.c
934 srv6/sr_api.c
935)
936
937list(APPEND VNET_HEADERS
938 srv6/sr_packet.h
939 srv6/sr.h
940)
941
942list(APPEND VNET_API_FILES srv6/sr.api)
943
944##############################################################################
945# mpls segment routing
946##############################################################################
947
948list(APPEND VNET_SOURCES
949 srmpls/sr_mpls_policy.c
950 srmpls/sr_mpls_steering.c
951 srmpls/sr_mpls_api.c
952)
953
954list(APPEND VNET_HEADERS
955 srmpls/sr_mpls.h
956)
957
958list(APPEND VNET_API_FILES srmpls/sr_mpls.api)
959
960##############################################################################
961# IPFIX / netflow v10
962##############################################################################
963list(APPEND VNET_SOURCES
964 ipfix-export/flow_report.c
965 ipfix-export/flow_api.c
966)
967
968list(APPEND VNET_HEADERS
969 ipfix-export/flow_report.h
970 ipfix-export/ipfix_info_elements.h
971 ipfix-export/ipfix_packet.h
972)
973
974list(APPEND VNET_API_FILES ipfix-export/ipfix_export.api)
975
976##############################################################################
Mohsin Kazmi29467b52019-10-08 19:42:38 +0200977# GSO
978##############################################################################
979list(APPEND VNET_SOURCES
980 gso/cli.c
981 gso/gso.c
982 gso/gso_api.c
983 gso/node.c
984)
985
986list(APPEND VNET_HEADERS
987 gso/gso.h
988)
989
990list(APPEND VNET_API_FILES
991 gso/gso.api
992)
993
994##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200995# IPFIX classify code
996##############################################################################
997
998list(APPEND VNET_SOURCES
999 ipfix-export/flow_report_classify.c
1000)
1001
1002list(APPEND VNET_HEADERS
1003 ipfix-export/flow_report_classify.h
1004)
1005
1006##############################################################################
1007# lawful intercept
1008##############################################################################
1009
1010list(APPEND VNET_SOURCES
1011 lawful-intercept/lawful_intercept.c
1012 lawful-intercept/node.c
1013)
1014
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -07001015list(APPEND VNET_MULTIARCH_SOURCES
1016 lawful-intercept/node.c
1017)
1018
Damjan Marion4553c952018-08-26 11:04:40 +02001019list(APPEND VNET_HEADERS
1020 lawful-intercept/lawful_intercept.h
1021)
1022
1023##############################################################################
1024# SPAN (port mirroring)
1025##############################################################################
1026
1027list(APPEND VNET_SOURCES
1028 span/span_api.c
1029 span/span.c
1030 span/node.c
1031)
1032
Filip Tehlara79271f2019-03-05 03:46:40 -08001033list(APPEND VNET_MULTIARCH_SOURCES
1034 span/node.c
1035)
1036
Damjan Marion4553c952018-08-26 11:04:40 +02001037list(APPEND VNET_HEADERS
1038 span/span.h
1039)
1040
1041list(APPEND VNET_API_FILES span/span.api)
1042
1043##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001044# Packet generator
1045##############################################################################
1046
1047list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001048 pg/cli.c
1049 pg/edit.c
1050 pg/init.c
1051 pg/input.c
1052 pg/output.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001053 pg/stream.c
Damjan Marion4553c952018-08-26 11:04:40 +02001054 pg/pg_api.c
1055)
1056
1057list(APPEND VNET_HEADERS
1058 pg/pg.h
1059 pg/edit.h
1060)
1061
1062list(APPEND VNET_API_FILES pg/pg.api)
1063
1064##############################################################################
1065# virtio
1066##############################################################################
1067
1068list(APPEND VNET_SOURCES
Damjan Marionf41244f2019-11-08 17:41:06 +01001069 devices/virtio/cli.c
Damjan Marion4553c952018-08-26 11:04:40 +02001070 devices/virtio/device.c
Damjan Marionf41244f2019-11-08 17:41:06 +01001071 devices/virtio/format.c
Damjan Marion4553c952018-08-26 11:04:40 +02001072 devices/virtio/node.c
Damjan Marionf41244f2019-11-08 17:41:06 +01001073 devices/virtio/pci.c
Damjan Marion4553c952018-08-26 11:04:40 +02001074 devices/virtio/vhost_user.c
1075 devices/virtio/vhost_user_input.c
1076 devices/virtio/vhost_user_output.c
1077 devices/virtio/vhost_user_api.c
1078 devices/virtio/virtio.c
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001079 devices/virtio/virtio_api.c
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001080 devices/virtio/virtio_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +02001081)
1082
1083list(APPEND VNET_HEADERS
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001084 devices/virtio/pci.h
Damjan Marion4553c952018-08-26 11:04:40 +02001085 devices/virtio/virtio.h
1086 devices/virtio/vhost_user.h
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001087 devices/virtio/virtio_types_api.h
Damjan Marion4553c952018-08-26 11:04:40 +02001088)
1089
1090list(APPEND VNET_MULTIARCH_SOURCES
1091 devices/virtio/vhost_user_input.c
1092 devices/virtio/vhost_user_output.c
Filip Tehlar608996d2019-03-04 03:03:13 -08001093 devices/virtio/node.c
1094 devices/af_packet/node.c
Filip Tehlaraee73642019-03-13 05:50:44 -07001095 devices/virtio/device.c
Damjan Marion4553c952018-08-26 11:04:40 +02001096)
1097
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001098list(APPEND VNET_API_FILES
1099 devices/virtio/vhost_user.api
1100 devices/virtio/virtio.api
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001101 devices/virtio/virtio_types.api
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001102)
Damjan Marion4553c952018-08-26 11:04:40 +02001103
1104##############################################################################
1105# tap interface (with virtio backend)
1106##############################################################################
1107
1108list(APPEND VNET_SOURCES
1109 devices/tap/cli.c
1110 devices/tap/tap.c
1111 devices/tap/tapv2_api.c
1112)
1113
1114list(APPEND VNET_HEADERS
1115 devices/tap/tap.h
1116)
1117
1118list(APPEND VNET_API_FILES devices/tap/tapv2.api)
1119
1120##############################################################################
1121# tap interface (with virtio backend)
1122##############################################################################
1123
1124list(APPEND VNET_SOURCES
1125 devices/pipe/pipe_api.c
1126 devices/pipe/pipe.c
1127)
1128
1129list(APPEND VNET_HEADERS
1130 devices/pipe/pipe.h
1131)
1132
1133list(APPEND VNET_API_FILES devices/pipe/pipe.api)
1134
1135##############################################################################
1136# session managmeent
1137##############################################################################
1138
1139list(APPEND VNET_SOURCES
1140 session/session.c
1141 session/session_table.c
1142 session/session_rules_table.c
1143 session/session_lookup.c
1144 session/session_node.c
1145 session/transport.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001146 session/application.c
Florin Coras623eb562019-02-03 19:28:34 -08001147 session/application_worker.c
Damjan Marion4553c952018-08-26 11:04:40 +02001148 session/session_cli.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001149 session/application_interface.c
Florin Corasba7d8f52019-02-22 13:11:38 -08001150 session/application_local.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001151 session/application_namespace.c
Damjan Marion4553c952018-08-26 11:04:40 +02001152 session/segment_manager.c
Damjan Marion4553c952018-08-26 11:04:40 +02001153 session/session_api.c
1154)
1155
1156list(APPEND VNET_HEADERS
1157 session/session.h
1158 session/session_table.h
1159 session/session_rules_table.h
Florin Coras288eaab2019-02-03 15:26:14 -08001160 session/session_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001161 session/session_lookup.h
1162 session/application.h
1163 session/transport.h
Florin Coras1ee78302019-02-05 15:51:15 -08001164 session/transport_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001165 session/application_interface.h
Florin Corasba7d8f52019-02-22 13:11:38 -08001166 session/application_local.h
Damjan Marion4553c952018-08-26 11:04:40 +02001167 session/application_namespace.h
1168 session/session_debug.h
1169 session/segment_manager.h
1170 session/mma_template.h
1171 session/mma_template.c
1172 session/mma_16.h
1173 session/mma_40.h
1174)
1175
1176list(APPEND VNET_API_FILES session/session.api)
1177
1178##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001179# TLS protocol
1180##############################################################################
1181
1182list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001183 tls/tls.c
Damjan Marion4553c952018-08-26 11:04:40 +02001184)
1185
1186list(APPEND VNET_HEADERS
1187 tls/tls.h
Florin Coras54a51fd2019-02-07 15:34:52 -08001188 tls/tls_test.h
Damjan Marion4553c952018-08-26 11:04:40 +02001189)
1190
1191##############################################################################
1192# Linux packet interface
1193##############################################################################
1194
1195list(APPEND VNET_SOURCES
1196 devices/af_packet/af_packet.c
1197 devices/af_packet/device.c
1198 devices/af_packet/node.c
1199 devices/af_packet/cli.c
1200 devices/af_packet/af_packet_api.c
1201)
1202
Filip Tehlaraee73642019-03-13 05:50:44 -07001203list(APPEND VNET_MULTIARCH_SOURCES
Filip Tehlaraee73642019-03-13 05:50:44 -07001204 devices/af_packet/device.c
1205)
1206
Damjan Marion4553c952018-08-26 11:04:40 +02001207list(APPEND VNET_HEADERS
1208 devices/af_packet/af_packet.h
1209)
1210
1211list(APPEND VNET_API_FILES devices/af_packet/af_packet.api)
1212
1213##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001214# Driver feature graph arc support
1215##############################################################################
1216
1217list(APPEND VNET_SOURCES
1218 feature/feature.c
1219 feature/feature_api.c
1220 feature/registration.c
1221)
1222
1223list(APPEND VNET_HEADERS
1224 feature/feature.h
1225)
1226
1227list(APPEND VNET_API_FILES feature/feature.api)
1228
1229##############################################################################
1230# Unix kernel related
1231##############################################################################
1232
1233# FIXME: unix/hgshm.c
1234
1235list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001236 unix/gdb_funcs.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001237 unix/tuntap.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001238)
1239
Damjan Marion4553c952018-08-26 11:04:40 +02001240list(APPEND VNET_HEADERS
Damjan Marion4553c952018-08-26 11:04:40 +02001241 unix/tuntap.h
Damjan Marion612dd6a2018-07-30 12:45:07 +02001242)
1243
Damjan Marion4553c952018-08-26 11:04:40 +02001244##############################################################################
1245# FIB
1246##############################################################################
1247
1248list(APPEND VNET_SOURCES
1249 fib/fib.c
Damjan Marion4553c952018-08-26 11:04:40 +02001250 fib/ip4_fib.c
1251 fib/ip6_fib.c
1252 fib/mpls_fib.c
1253 fib/fib_table.c
1254 fib/fib_walk.c
1255 fib/fib_types.c
1256 fib/fib_node.c
1257 fib/fib_node_list.c
1258 fib/fib_entry.c
1259 fib/fib_entry_src.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001260 fib/fib_entry_src_adj.c
1261 fib/fib_entry_src_api.c
1262 fib/fib_entry_src_drop.c
Damjan Marion4553c952018-08-26 11:04:40 +02001263 fib/fib_entry_src_interface.c
1264 fib/fib_entry_src_interpose.c
Damjan Marion4553c952018-08-26 11:04:40 +02001265 fib/fib_entry_src_lisp.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001266 fib/fib_entry_src_mpls.c
1267 fib/fib_entry_src_simple.c
1268 fib/fib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001269 fib/fib_entry_cover.c
1270 fib/fib_entry_delegate.c
Neale Ranns1f50bf82019-07-16 15:28:52 +00001271 fib/fib_entry_track.c
Damjan Marion4553c952018-08-26 11:04:40 +02001272 fib/fib_path_list.c
1273 fib/fib_path.c
1274 fib/fib_path_ext.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001275 fib/fib_source.c
Damjan Marion4553c952018-08-26 11:04:40 +02001276 fib/fib_urpf_list.c
1277 fib/fib_attached_export.c
1278 fib/fib_api.c
1279 fib/fib_bfd.c
1280)
1281
1282list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001283 fib/fib.h
Damjan Marion4553c952018-08-26 11:04:40 +02001284 fib/fib_api.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001285 fib/ip4_fib.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001286 fib/ip6_fib.h
1287 fib/fib_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001288 fib/fib_table.h
1289 fib/fib_node.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001290 fib/fib_node_list.h
Damjan Marion4553c952018-08-26 11:04:40 +02001291 fib/fib_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001292 fib/fib_entry_delegate.h
Neale Ranns3bab8f92019-12-04 06:11:00 +00001293 fib/fib_source.h
Damjan Marion4553c952018-08-26 11:04:40 +02001294)
1295
Benoît Ganned39495d2019-07-25 14:14:03 +02001296list(APPEND VNET_API_FILES fib/fib_types.api)
1297
Damjan Marion4553c952018-08-26 11:04:40 +02001298##############################################################################
1299# ADJ
1300##############################################################################
1301
1302list(APPEND VNET_SOURCES
1303 adj/adj_nbr.c
1304 adj/adj_glean.c
1305 adj/adj_midchain.c
Neale Ranns4c3ba812019-03-26 07:02:58 +00001306 adj/adj_midchain_delegate.c
Damjan Marion4553c952018-08-26 11:04:40 +02001307 adj/adj_mcast.c
1308 adj/adj_l2.c
1309 adj/adj_nsh.c
1310 adj/adj.c
1311 adj/rewrite.c
1312 adj/adj_bfd.c
1313 adj/adj_delegate.c
1314)
1315
Filip Tehlar0b2c15d2019-03-04 02:52:54 -08001316list(APPEND VNET_MULTIARCH_SOURCES
1317 adj/adj_nsh.c
1318 adj/adj_l2.c
1319)
1320
Damjan Marion4553c952018-08-26 11:04:40 +02001321list(APPEND VNET_HEADERS
1322 adj/adj.h
1323 adj/adj_types.h
1324 adj/adj_glean.h
1325 adj/adj_nsh.h
1326 adj/adj_nbr.h
Alberto Compagnod8ca1e42019-08-12 11:43:19 +02001327 adj/adj_midchain.h
Damjan Marion4553c952018-08-26 11:04:40 +02001328 adj/rewrite.h
1329)
1330
1331##############################################################################
1332# Data-Plane Objects
1333##############################################################################
1334
1335list(APPEND VNET_SOURCES
1336 dpo/dpo.c
1337 dpo/drop_dpo.c
1338 dpo/ip_null_dpo.c
1339 dpo/ip6_ll_dpo.c
1340 dpo/punt_dpo.c
1341 dpo/receive_dpo.c
1342 dpo/load_balance.c
1343 dpo/load_balance_map.c
1344 dpo/lookup_dpo.c
1345 dpo/classify_dpo.c
1346 dpo/replicate_dpo.c
1347 dpo/interface_rx_dpo.c
1348 dpo/interface_tx_dpo.c
1349 dpo/mpls_disposition.c
1350 dpo/mpls_label_dpo.c
1351 dpo/l3_proxy_dpo.c
1352 dpo/dvr_dpo.c
Neale Ranns1dbcf302019-07-19 11:44:53 +00001353 dpo/pw_cw.c
Damjan Marion4553c952018-08-26 11:04:40 +02001354)
1355
Filip Tehlareb9a27f2019-03-07 01:42:11 -08001356list(APPEND VNET_MULTIARCH_SOURCES
1357 dpo/lookup_dpo.h
1358 dpo/mpls_disposition.c
1359 dpo/dvr_dpo.c
1360 dpo/mpls_label_dpo.c
1361 dpo/interface_rx_dpo.c
1362)
1363
Damjan Marion4553c952018-08-26 11:04:40 +02001364list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001365 dpo/load_balance.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001366 dpo/drop_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001367 dpo/lookup_dpo.h
1368 dpo/punt_dpo.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001369 dpo/classify_dpo.h
1370 dpo/receive_dpo.h
1371 dpo/ip_null_dpo.h
1372 dpo/replicate_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001373 dpo/dpo.h
1374)
1375
1376##############################################################################
1377# Multicast FIB
1378##############################################################################
1379
1380list(APPEND VNET_SOURCES
Damjan Marion4553c952018-08-26 11:04:40 +02001381 mfib/mfib_forward.c
1382 mfib/ip4_mfib.c
1383 mfib/ip6_mfib.c
Neale Ranns097fa662018-05-01 05:17:55 -07001384 mfib/mfib_api.c
Damjan Marion4553c952018-08-26 11:04:40 +02001385 mfib/mfib_types.c
1386 mfib/mfib_signal.c
1387 mfib/mfib_itf.c
1388 mfib/mfib_entry.c
Neale Ranns9e829a82018-12-17 05:50:32 -08001389 mfib/mfib_entry.c
1390 mfib/mfib_entry_cover.c
1391 mfib/mfib_entry_delegate.c
1392 mfib/mfib_entry_src.c
1393 mfib/mfib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001394 mfib/mfib_table.c
1395)
1396
Filip Tehlar79c27eb2019-03-07 00:30:03 -08001397list(APPEND VNET_MULTIARCH_SOURCES
1398 mfib/mfib_forward.c
1399)
1400
Damjan Marion4553c952018-08-26 11:04:40 +02001401list(APPEND VNET_HEADERS
1402 mfib/ip4_mfib.h
1403 mfib/mfib_types.h
1404 mfib/mfib_table.h
1405)
1406
Benoît Ganned39495d2019-07-25 14:14:03 +02001407list(APPEND VNET_API_FILES mfib/mfib_types.api)
1408
Damjan Marion4553c952018-08-26 11:04:40 +02001409##############################################################################
1410# Utilities
1411##############################################################################
1412
1413list(APPEND VNET_SOURCES
1414 util/radix.c
1415 util/refcount.c
Neale Rannsc8352bc2018-08-29 10:23:58 -07001416 util/throttle.c
Damjan Marion4553c952018-08-26 11:04:40 +02001417 util/trajectory.c
1418)
1419
Damjan Marionac5554c2018-08-30 22:56:59 +02001420list(APPEND VNET_HEADERS
1421 util/throttle.h
1422)
1423
Damjan Marion4553c952018-08-26 11:04:40 +02001424##############################################################################
1425# QoS
1426##############################################################################
1427
1428list(APPEND VNET_SOURCES
1429 qos/qos_types.c
1430 qos/qos_api.c
1431 qos/qos_egress_map.c
1432 qos/qos_record.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001433 qos/qos_record_node.c
Neale Ranns83832e72019-07-31 02:48:02 -07001434 qos/qos_store.c
1435 qos/qos_store_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001436 qos/qos_mark.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001437 qos/qos_mark_node.c
1438)
1439
1440list(APPEND VNET_MULTIARCH_SOURCES
1441 qos/qos_record_node.c
1442 qos/qos_mark_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001443)
1444
1445list(APPEND VNET_API_FILES qos/qos.api)
1446
1447##############################################################################
1448# BIER
1449##############################################################################
1450
1451list(APPEND VNET_SOURCES
1452 bier/bier_bit_string.c
1453 bier/bier_entry.c
1454 bier/bier_fmask.c
1455 bier/bier_fmask_db.c
1456 bier/bier_input.c
1457 bier/bier_lookup.c
1458 bier/bier_output.c
1459 bier/bier_table.c
1460 bier/bier_types.c
Damjan Marion4553c952018-08-26 11:04:40 +02001461 bier/bier_api.c
1462 bier/bier_drop.c
1463 bier/bier_update.c
1464 bier/bier_imp_node.c
1465 bier/bier_imp.c
1466 bier/bier_disp_entry.c
1467 bier/bier_disp_lookup_node.c
1468 bier/bier_disp_dispatch_node.c
1469 bier/bier_disp_table.c
1470 bier/bier_bift_table.c
1471)
1472
Filip Tehlara01e0322019-03-05 03:34:52 -08001473list(APPEND VNET_MULTIARCH_SOURCES
1474 bier/bier_disp_dispatch_node.c
1475 bier/bier_disp_lookup_node.c
1476 bier/bier_imp_node.c
1477)
1478
Damjan Marion4553c952018-08-26 11:04:40 +02001479list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001480 bier/bier_types.h
1481 bier/bier_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001482 bier/bier_update.h
Damjan Marion4553c952018-08-26 11:04:40 +02001483 bier/bier_table.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001484)
1485
Damjan Marion4553c952018-08-26 11:04:40 +02001486list(APPEND VNET_API_FILES bier/bier.api)
Damjan Marion612dd6a2018-07-30 12:45:07 +02001487
Florin Coras41c9e042018-09-11 00:10:41 -07001488##############################################################################
Matus Fabianb4515b42018-11-19 04:25:32 -08001489# SYSLOG
1490##############################################################################
1491
1492list (APPEND VNET_SOURCES
1493 syslog/syslog_api.c
1494 syslog/syslog_udp.c
1495 syslog/syslog.c
1496)
1497
1498list(APPEND VNET_HEADERS
1499 syslog/syslog_udp.h
1500 syslog/syslog.h
1501)
1502
1503list(APPEND VNET_API_FILES syslog/syslog.api)
1504
1505##############################################################################
Jakub Grajciar2c504f82019-09-26 10:34:41 +02001506# PCI
1507##############################################################################
1508
1509list (APPEND VNET_SOURCES
1510 pci/pci_types_api.c
1511)
1512
1513list(APPEND VNET_HEADERS
1514 pci/pci_types_api.h
1515)
1516
1517list(APPEND VNET_API_FILES pci/pci_types.api)
1518
1519##############################################################################
Neale Ranns03ce4622020-02-03 10:55:09 +00001520# Tunnel Endpoint Information Base
Neale Ranns5f8f6172019-04-18 10:23:56 +00001521##############################################################################
1522
1523list (APPEND VNET_SOURCES
Neale Ranns03ce4622020-02-03 10:55:09 +00001524 teib/teib_api.c
1525 teib/teib_cli.c
1526 teib/teib.c
Neale Ranns5f8f6172019-04-18 10:23:56 +00001527)
1528
1529list(APPEND VNET_HEADERS
Neale Ranns03ce4622020-02-03 10:55:09 +00001530 teib/teib.h
Neale Ranns5f8f6172019-04-18 10:23:56 +00001531)
1532
Neale Ranns03ce4622020-02-03 10:55:09 +00001533list(APPEND VNET_API_FILES teib/teib.api)
Neale Ranns5f8f6172019-04-18 10:23:56 +00001534
1535##############################################################################
Neale Rannscbe25aa2019-09-30 10:53:31 +00001536# ARP/ND
1537##############################################################################
1538
1539list (APPEND VNET_SOURCES
1540 arp/arp_api.c
1541 arp/arp.c
1542 arp/arp_proxy.c
1543)
1544
1545list(APPEND VNET_HEADERS
1546 arp/arp.h
1547)
1548
1549list(APPEND VNET_API_FILES arp/arp.api)
1550
1551list (APPEND VNET_SOURCES
1552 ip6-nd/ip6_mld.c
1553 ip6-nd/ip6_nd.c
1554 ip6-nd/ip6_nd_api.c
1555 ip6-nd/ip6_nd_proxy.c
1556 ip6-nd/ip6_ra.c
1557 ip6-nd/rd_cp.c
1558 ip6-nd/rd_cp_api.c
1559)
1560
1561list(APPEND VNET_HEADERS
1562 ip6-nd/ip6_nd.h
1563)
1564
1565list(APPEND VNET_API_FILES
1566 ip6-nd/ip6_nd.api
1567 ip6-nd/rd_cp.api
1568)
1569
1570##############################################################################
Florin Coras41c9e042018-09-11 00:10:41 -07001571# VNET Library
1572##############################################################################
1573
Damjan Marion4553c952018-08-26 11:04:40 +02001574add_vpp_library(vnet
1575 SOURCES ${VNET_SOURCES}
1576 MULTIARCH_SOURCES ${VNET_MULTIARCH_SOURCES}
1577 INSTALL_HEADERS ${VNET_HEADERS}
1578 API_FILES ${VNET_API_FILES}
1579 LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES}
Chris Lukec171d012020-01-15 20:30:04 -05001580 DEPENDS vpp_version_h api_headers
Damjan Marion612dd6a2018-07-30 12:45:07 +02001581)
Florin Coras41c9e042018-09-11 00:10:41 -07001582
1583##############################################################################
Yulong Peidb43bb62020-01-09 01:12:43 +08001584# vpp api test client library
1585##############################################################################
1586
1587add_vpp_library (vatclient
1588 SOURCES ip/ip_types_api.c
1589 DEPENDS api_headers
1590)
1591
1592##############################################################################