blob: 56db74265cc63eca27ca049b8d9e75099b300f20 [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
Neale Ranns95346962019-11-25 13:04:44 +0000737 ipip/ipip_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +0200738)
739
Filip Tehlar7a542f42019-03-05 04:50:23 -0800740list(APPEND VNET_MULTIARCH_SOURCES
741 ipip/node.c
742)
743
Damjan Marion4553c952018-08-26 11:04:40 +0200744list(APPEND VNET_HEADERS
745 ipip/ipip.h
Neale Ranns95346962019-11-25 13:04:44 +0000746 ipip/ipip_types_api.h
Damjan Marion4553c952018-08-26 11:04:40 +0200747)
748
Neale Ranns95346962019-11-25 13:04:44 +0000749list(APPEND VNET_API_FILES
750 ipip/ipip_types.api
751 ipip/ipip.api
752)
Damjan Marion4553c952018-08-26 11:04:40 +0200753
754##############################################################################
755# Tunnel protocol: l2tpv3
756##############################################################################
757list(APPEND VNET_SOURCES
758 l2tp/l2tp.c
759 l2tp/encap.c
760 l2tp/decap.c
761 l2tp/pg.c
762 l2tp/l2tp_api.c
763)
764
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700765list(APPEND VNET_MULTIARCH_SOURCES
766 l2tp/encap.c
767 l2tp/decap.c
768)
769
Damjan Marion4553c952018-08-26 11:04:40 +0200770list(APPEND VNET_HEADERS
771 l2tp/l2tp.h
772 l2tp/packet.h
773)
774
775list(APPEND VNET_API_FILES l2tp/l2tp.api)
776
777##############################################################################
778# Tunnel protocol: gre+mpls
779##############################################################################
780list(APPEND VNET_SOURCES
781 mpls/mpls.c
782 mpls/mpls_lookup.c
783 mpls/mpls_output.c
784 mpls/mpls_features.c
785 mpls/mpls_input.c
786 mpls/interface.c
787 mpls/mpls_tunnel.c
788 mpls/pg.c
789 mpls/mpls_api.c
790)
791
Filip Tehlar17fcd982019-03-05 04:32:11 -0800792list(APPEND VNET_MULTIARCH_SOURCES
793 mpls/mpls_output.c
794 mpls/mpls_input.c
795 mpls/mpls_lookup.c
796 mpls/mpls_features.c
797)
798
Damjan Marion4553c952018-08-26 11:04:40 +0200799list(APPEND VNET_HEADERS
800 mpls/mpls.h
801 mpls/mpls_types.h
802 mpls/mpls_tunnel.h
803 mpls/packet.h
804 mpls/error.def
805)
806
807list(APPEND VNET_API_FILES mpls/mpls.api)
808
809##############################################################################
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200810# Tunnel protocol: vxlan-gbp
811##############################################################################
812list(APPEND VNET_SOURCES
813 vxlan-gbp/decap.c
814 vxlan-gbp/encap.c
815 vxlan-gbp/vxlan_gbp_api.c
816 vxlan-gbp/vxlan_gbp.c
Neale Ranns93cc3ee2018-10-10 07:22:51 -0700817 vxlan-gbp/vxlan_gbp_packet.c
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200818)
819
Filip Tehlare1714d32019-03-05 03:01:43 -0800820list (APPEND VNET_MULTIARCH_SOURCES
821 vxlan-gbp/decap.c
822 vxlan-gbp/encap.c
823)
824
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200825list(APPEND VNET_HEADERS
826 vxlan-gbp/vxlan_gbp.h
827 vxlan-gbp/vxlan_gbp_packet.h
828 vxlan-gbp/vxlan_gbp_error.def
829)
830
831list(APPEND VNET_API_FILES vxlan-gbp/vxlan_gbp.api)
832
833##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200834# Tunnel protocol: vxlan-gpe
835##############################################################################
836
837list(APPEND VNET_SOURCES
838 vxlan-gpe/vxlan_gpe.c
839 vxlan-gpe/encap.c
840 vxlan-gpe/decap.c
841 vxlan-gpe/vxlan_gpe_api.c
842)
843
Filip Tehlare1714d32019-03-05 03:01:43 -0800844list (APPEND VNET_MULTIARCH_SOURCES
845 vxlan-gpe/decap.c
846)
847
Damjan Marion4553c952018-08-26 11:04:40 +0200848list(APPEND VNET_HEADERS
849 vxlan-gpe/vxlan_gpe.h
850 vxlan-gpe/vxlan_gpe_packet.h
851 vxlan-gpe/vxlan_gpe_error.def
852)
853
854list(APPEND VNET_API_FILES vxlan-gpe/vxlan_gpe.api)
855
856##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200857# LISP control plane: lisp-cp
858##############################################################################
859
860list(APPEND VNET_SOURCES
861 lisp-cp/lisp_types.c
862 lisp-cp/lisp_cp_dpo.c
863 lisp-cp/control.c
864 lisp-cp/gid_dictionary.c
865 lisp-cp/lisp_msg_serdes.c
866 lisp-cp/packets.c
867 lisp-cp/one_cli.c
868 lisp-cp/lisp_cli.c
869 lisp-cp/one_api.c
870 lisp-cp/lisp_api.c
871)
872
873list(APPEND VNET_HEADERS
874 lisp-cp/lisp_types.h
875 lisp-cp/packets.h
876 lisp-cp/gid_dictionary.h
877 lisp-cp/lisp_cp_messages.h
878 lisp-cp/lisp_msg_serdes.h
879 lisp-cp/control.h
880)
881
882list(APPEND VNET_API_FILES lisp-cp/lisp.api)
883list(APPEND VNET_API_FILES lisp-cp/one.api)
884
885##############################################################################
886# Tunnel protocol: lisp-gpe
887##############################################################################
888
889list(APPEND VNET_SOURCES
890 lisp-gpe/lisp_gpe.c
891 lisp-gpe/lisp_gpe_sub_interface.c
892 lisp-gpe/lisp_gpe_adjacency.c
893 lisp-gpe/lisp_gpe_tunnel.c
894 lisp-gpe/lisp_gpe_fwd_entry.c
895 lisp-gpe/lisp_gpe_tenant.c
896 lisp-gpe/interface.c
897 lisp-gpe/decap.c
898 lisp-gpe/lisp_gpe_api.c
899)
900
901list(APPEND VNET_HEADERS
902 lisp-gpe/lisp_gpe.h
903 lisp-gpe/lisp_gpe_fwd_entry.h
904 lisp-gpe/lisp_gpe_tenant.h
905 lisp-gpe/lisp_gpe_packet.h
906 lisp-gpe/lisp_gpe_error.def
907)
908
909list(APPEND VNET_API_FILES lisp-gpe/lisp_gpe.api)
910
911##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200912# ipv6 segment routing
913##############################################################################
914
915list(APPEND VNET_SOURCES
916 srv6/sr.c
917 srv6/sr_localsid.c
918 srv6/sr_policy_rewrite.c
919 srv6/sr_steering.c
920 srv6/sr_api.c
921)
922
923list(APPEND VNET_HEADERS
924 srv6/sr_packet.h
925 srv6/sr.h
926)
927
928list(APPEND VNET_API_FILES srv6/sr.api)
929
930##############################################################################
931# mpls segment routing
932##############################################################################
933
934list(APPEND VNET_SOURCES
935 srmpls/sr_mpls_policy.c
936 srmpls/sr_mpls_steering.c
937 srmpls/sr_mpls_api.c
938)
939
940list(APPEND VNET_HEADERS
941 srmpls/sr_mpls.h
942)
943
944list(APPEND VNET_API_FILES srmpls/sr_mpls.api)
945
946##############################################################################
947# IPFIX / netflow v10
948##############################################################################
949list(APPEND VNET_SOURCES
950 ipfix-export/flow_report.c
951 ipfix-export/flow_api.c
952)
953
954list(APPEND VNET_HEADERS
955 ipfix-export/flow_report.h
956 ipfix-export/ipfix_info_elements.h
957 ipfix-export/ipfix_packet.h
958)
959
960list(APPEND VNET_API_FILES ipfix-export/ipfix_export.api)
961
962##############################################################################
Mohsin Kazmi29467b52019-10-08 19:42:38 +0200963# GSO
964##############################################################################
965list(APPEND VNET_SOURCES
966 gso/cli.c
967 gso/gso.c
968 gso/gso_api.c
969 gso/node.c
970)
971
972list(APPEND VNET_HEADERS
973 gso/gso.h
974)
975
976list(APPEND VNET_API_FILES
977 gso/gso.api
978)
979
980##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200981# IPFIX classify code
982##############################################################################
983
984list(APPEND VNET_SOURCES
985 ipfix-export/flow_report_classify.c
986)
987
988list(APPEND VNET_HEADERS
989 ipfix-export/flow_report_classify.h
990)
991
992##############################################################################
993# lawful intercept
994##############################################################################
995
996list(APPEND VNET_SOURCES
997 lawful-intercept/lawful_intercept.c
998 lawful-intercept/node.c
999)
1000
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -07001001list(APPEND VNET_MULTIARCH_SOURCES
1002 lawful-intercept/node.c
1003)
1004
Damjan Marion4553c952018-08-26 11:04:40 +02001005list(APPEND VNET_HEADERS
1006 lawful-intercept/lawful_intercept.h
1007)
1008
1009##############################################################################
1010# SPAN (port mirroring)
1011##############################################################################
1012
1013list(APPEND VNET_SOURCES
1014 span/span_api.c
1015 span/span.c
1016 span/node.c
1017)
1018
Filip Tehlara79271f2019-03-05 03:46:40 -08001019list(APPEND VNET_MULTIARCH_SOURCES
1020 span/node.c
1021)
1022
Damjan Marion4553c952018-08-26 11:04:40 +02001023list(APPEND VNET_HEADERS
1024 span/span.h
1025)
1026
1027list(APPEND VNET_API_FILES span/span.api)
1028
1029##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001030# Packet generator
1031##############################################################################
1032
1033list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001034 pg/cli.c
1035 pg/edit.c
1036 pg/init.c
1037 pg/input.c
1038 pg/output.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001039 pg/stream.c
Damjan Marion4553c952018-08-26 11:04:40 +02001040 pg/pg_api.c
1041)
1042
1043list(APPEND VNET_HEADERS
1044 pg/pg.h
1045 pg/edit.h
1046)
1047
1048list(APPEND VNET_API_FILES pg/pg.api)
1049
1050##############################################################################
1051# virtio
1052##############################################################################
1053
1054list(APPEND VNET_SOURCES
Damjan Marionf41244f2019-11-08 17:41:06 +01001055 devices/virtio/cli.c
Damjan Marion4553c952018-08-26 11:04:40 +02001056 devices/virtio/device.c
Damjan Marionf41244f2019-11-08 17:41:06 +01001057 devices/virtio/format.c
Damjan Marion4553c952018-08-26 11:04:40 +02001058 devices/virtio/node.c
Damjan Marionf41244f2019-11-08 17:41:06 +01001059 devices/virtio/pci.c
Damjan Marion4553c952018-08-26 11:04:40 +02001060 devices/virtio/vhost_user.c
1061 devices/virtio/vhost_user_input.c
1062 devices/virtio/vhost_user_output.c
1063 devices/virtio/vhost_user_api.c
1064 devices/virtio/virtio.c
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001065 devices/virtio/virtio_api.c
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001066 devices/virtio/virtio_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +02001067)
1068
1069list(APPEND VNET_HEADERS
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001070 devices/virtio/pci.h
Damjan Marion4553c952018-08-26 11:04:40 +02001071 devices/virtio/virtio.h
1072 devices/virtio/vhost_user.h
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001073 devices/virtio/virtio_types_api.h
Damjan Marion4553c952018-08-26 11:04:40 +02001074)
1075
1076list(APPEND VNET_MULTIARCH_SOURCES
1077 devices/virtio/vhost_user_input.c
1078 devices/virtio/vhost_user_output.c
Filip Tehlar608996d2019-03-04 03:03:13 -08001079 devices/netmap/node.c
1080 devices/virtio/node.c
1081 devices/af_packet/node.c
Filip Tehlaraee73642019-03-13 05:50:44 -07001082 devices/virtio/device.c
Damjan Marion4553c952018-08-26 11:04:40 +02001083)
1084
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001085list(APPEND VNET_API_FILES
1086 devices/virtio/vhost_user.api
1087 devices/virtio/virtio.api
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001088 devices/virtio/virtio_types.api
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001089)
Damjan Marion4553c952018-08-26 11:04:40 +02001090
1091##############################################################################
1092# tap interface (with virtio backend)
1093##############################################################################
1094
1095list(APPEND VNET_SOURCES
1096 devices/tap/cli.c
1097 devices/tap/tap.c
1098 devices/tap/tapv2_api.c
1099)
1100
1101list(APPEND VNET_HEADERS
1102 devices/tap/tap.h
1103)
1104
1105list(APPEND VNET_API_FILES devices/tap/tapv2.api)
1106
1107##############################################################################
1108# tap interface (with virtio backend)
1109##############################################################################
1110
1111list(APPEND VNET_SOURCES
1112 devices/pipe/pipe_api.c
1113 devices/pipe/pipe.c
1114)
1115
1116list(APPEND VNET_HEADERS
1117 devices/pipe/pipe.h
1118)
1119
1120list(APPEND VNET_API_FILES devices/pipe/pipe.api)
1121
1122##############################################################################
1123# session managmeent
1124##############################################################################
1125
1126list(APPEND VNET_SOURCES
1127 session/session.c
1128 session/session_table.c
1129 session/session_rules_table.c
1130 session/session_lookup.c
1131 session/session_node.c
1132 session/transport.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001133 session/application.c
Florin Coras623eb562019-02-03 19:28:34 -08001134 session/application_worker.c
Damjan Marion4553c952018-08-26 11:04:40 +02001135 session/session_cli.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001136 session/application_interface.c
Florin Corasba7d8f52019-02-22 13:11:38 -08001137 session/application_local.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001138 session/application_namespace.c
Damjan Marion4553c952018-08-26 11:04:40 +02001139 session/segment_manager.c
Damjan Marion4553c952018-08-26 11:04:40 +02001140 session/session_api.c
1141)
1142
1143list(APPEND VNET_HEADERS
1144 session/session.h
1145 session/session_table.h
1146 session/session_rules_table.h
Florin Coras288eaab2019-02-03 15:26:14 -08001147 session/session_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001148 session/session_lookup.h
1149 session/application.h
1150 session/transport.h
Florin Coras1ee78302019-02-05 15:51:15 -08001151 session/transport_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001152 session/application_interface.h
Florin Corasba7d8f52019-02-22 13:11:38 -08001153 session/application_local.h
Damjan Marion4553c952018-08-26 11:04:40 +02001154 session/application_namespace.h
1155 session/session_debug.h
1156 session/segment_manager.h
1157 session/mma_template.h
1158 session/mma_template.c
1159 session/mma_16.h
1160 session/mma_40.h
1161)
1162
1163list(APPEND VNET_API_FILES session/session.api)
1164
1165##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001166# TLS protocol
1167##############################################################################
1168
1169list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001170 tls/tls.c
Damjan Marion4553c952018-08-26 11:04:40 +02001171)
1172
1173list(APPEND VNET_HEADERS
1174 tls/tls.h
Florin Coras54a51fd2019-02-07 15:34:52 -08001175 tls/tls_test.h
Damjan Marion4553c952018-08-26 11:04:40 +02001176)
1177
1178##############################################################################
1179# Linux packet interface
1180##############################################################################
1181
1182list(APPEND VNET_SOURCES
1183 devices/af_packet/af_packet.c
1184 devices/af_packet/device.c
1185 devices/af_packet/node.c
1186 devices/af_packet/cli.c
1187 devices/af_packet/af_packet_api.c
1188)
1189
Filip Tehlaraee73642019-03-13 05:50:44 -07001190list(APPEND VNET_MULTIARCH_SOURCES
1191 devices/netmap/device.c
1192 devices/af_packet/device.c
1193)
1194
Damjan Marion4553c952018-08-26 11:04:40 +02001195list(APPEND VNET_HEADERS
1196 devices/af_packet/af_packet.h
1197)
1198
1199list(APPEND VNET_API_FILES devices/af_packet/af_packet.api)
1200
1201##############################################################################
1202# NETMAP interface
1203##############################################################################
1204
1205list(APPEND VNET_SOURCES
1206 devices/netmap/netmap.c
1207 devices/netmap/device.c
1208 devices/netmap/node.c
1209 devices/netmap/cli.c
1210 devices/netmap/netmap_api.c
1211)
1212
1213list(APPEND VNET_HEADERS
1214 devices/netmap/netmap.h
1215)
1216
1217list(APPEND VNET_API_FILES devices/netmap/netmap.api)
1218
1219##############################################################################
1220# Driver feature graph arc support
1221##############################################################################
1222
1223list(APPEND VNET_SOURCES
1224 feature/feature.c
1225 feature/feature_api.c
1226 feature/registration.c
1227)
1228
1229list(APPEND VNET_HEADERS
1230 feature/feature.h
1231)
1232
1233list(APPEND VNET_API_FILES feature/feature.api)
1234
1235##############################################################################
1236# Unix kernel related
1237##############################################################################
1238
1239# FIXME: unix/hgshm.c
1240
1241list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001242 unix/gdb_funcs.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001243 unix/tuntap.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001244)
1245
Damjan Marion4553c952018-08-26 11:04:40 +02001246list(APPEND VNET_HEADERS
Damjan Marion4553c952018-08-26 11:04:40 +02001247 unix/tuntap.h
Damjan Marion612dd6a2018-07-30 12:45:07 +02001248)
1249
Damjan Marion4553c952018-08-26 11:04:40 +02001250##############################################################################
1251# FIB
1252##############################################################################
1253
1254list(APPEND VNET_SOURCES
1255 fib/fib.c
Damjan Marion4553c952018-08-26 11:04:40 +02001256 fib/ip4_fib.c
1257 fib/ip6_fib.c
1258 fib/mpls_fib.c
1259 fib/fib_table.c
1260 fib/fib_walk.c
1261 fib/fib_types.c
1262 fib/fib_node.c
1263 fib/fib_node_list.c
1264 fib/fib_entry.c
1265 fib/fib_entry_src.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001266 fib/fib_entry_src_adj.c
1267 fib/fib_entry_src_api.c
1268 fib/fib_entry_src_drop.c
Damjan Marion4553c952018-08-26 11:04:40 +02001269 fib/fib_entry_src_interface.c
1270 fib/fib_entry_src_interpose.c
Damjan Marion4553c952018-08-26 11:04:40 +02001271 fib/fib_entry_src_lisp.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001272 fib/fib_entry_src_mpls.c
1273 fib/fib_entry_src_simple.c
1274 fib/fib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001275 fib/fib_entry_cover.c
1276 fib/fib_entry_delegate.c
Neale Ranns1f50bf82019-07-16 15:28:52 +00001277 fib/fib_entry_track.c
Damjan Marion4553c952018-08-26 11:04:40 +02001278 fib/fib_path_list.c
1279 fib/fib_path.c
1280 fib/fib_path_ext.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001281 fib/fib_source.c
Damjan Marion4553c952018-08-26 11:04:40 +02001282 fib/fib_urpf_list.c
1283 fib/fib_attached_export.c
1284 fib/fib_api.c
1285 fib/fib_bfd.c
1286)
1287
1288list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001289 fib/fib.h
Damjan Marion4553c952018-08-26 11:04:40 +02001290 fib/fib_api.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001291 fib/ip4_fib.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001292 fib/ip6_fib.h
1293 fib/fib_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001294 fib/fib_table.h
1295 fib/fib_node.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001296 fib/fib_node_list.h
Damjan Marion4553c952018-08-26 11:04:40 +02001297 fib/fib_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001298 fib/fib_entry_delegate.h
Neale Ranns3bab8f92019-12-04 06:11:00 +00001299 fib/fib_source.h
Damjan Marion4553c952018-08-26 11:04:40 +02001300)
1301
Benoît Ganned39495d2019-07-25 14:14:03 +02001302list(APPEND VNET_API_FILES fib/fib_types.api)
1303
Damjan Marion4553c952018-08-26 11:04:40 +02001304##############################################################################
1305# ADJ
1306##############################################################################
1307
1308list(APPEND VNET_SOURCES
1309 adj/adj_nbr.c
1310 adj/adj_glean.c
1311 adj/adj_midchain.c
Neale Ranns4c3ba812019-03-26 07:02:58 +00001312 adj/adj_midchain_delegate.c
Damjan Marion4553c952018-08-26 11:04:40 +02001313 adj/adj_mcast.c
1314 adj/adj_l2.c
1315 adj/adj_nsh.c
1316 adj/adj.c
1317 adj/rewrite.c
1318 adj/adj_bfd.c
1319 adj/adj_delegate.c
1320)
1321
Filip Tehlar0b2c15d2019-03-04 02:52:54 -08001322list(APPEND VNET_MULTIARCH_SOURCES
1323 adj/adj_nsh.c
1324 adj/adj_l2.c
1325)
1326
Damjan Marion4553c952018-08-26 11:04:40 +02001327list(APPEND VNET_HEADERS
1328 adj/adj.h
1329 adj/adj_types.h
1330 adj/adj_glean.h
1331 adj/adj_nsh.h
1332 adj/adj_nbr.h
Alberto Compagnod8ca1e42019-08-12 11:43:19 +02001333 adj/adj_midchain.h
Damjan Marion4553c952018-08-26 11:04:40 +02001334 adj/rewrite.h
1335)
1336
1337##############################################################################
1338# Data-Plane Objects
1339##############################################################################
1340
1341list(APPEND VNET_SOURCES
1342 dpo/dpo.c
1343 dpo/drop_dpo.c
1344 dpo/ip_null_dpo.c
1345 dpo/ip6_ll_dpo.c
1346 dpo/punt_dpo.c
1347 dpo/receive_dpo.c
1348 dpo/load_balance.c
1349 dpo/load_balance_map.c
1350 dpo/lookup_dpo.c
1351 dpo/classify_dpo.c
1352 dpo/replicate_dpo.c
1353 dpo/interface_rx_dpo.c
1354 dpo/interface_tx_dpo.c
1355 dpo/mpls_disposition.c
1356 dpo/mpls_label_dpo.c
1357 dpo/l3_proxy_dpo.c
1358 dpo/dvr_dpo.c
Neale Ranns1dbcf302019-07-19 11:44:53 +00001359 dpo/pw_cw.c
Damjan Marion4553c952018-08-26 11:04:40 +02001360)
1361
Filip Tehlareb9a27f2019-03-07 01:42:11 -08001362list(APPEND VNET_MULTIARCH_SOURCES
1363 dpo/lookup_dpo.h
1364 dpo/mpls_disposition.c
1365 dpo/dvr_dpo.c
1366 dpo/mpls_label_dpo.c
1367 dpo/interface_rx_dpo.c
1368)
1369
Damjan Marion4553c952018-08-26 11:04:40 +02001370list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001371 dpo/load_balance.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001372 dpo/drop_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001373 dpo/lookup_dpo.h
1374 dpo/punt_dpo.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001375 dpo/classify_dpo.h
1376 dpo/receive_dpo.h
1377 dpo/ip_null_dpo.h
1378 dpo/replicate_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001379 dpo/dpo.h
1380)
1381
1382##############################################################################
1383# Multicast FIB
1384##############################################################################
1385
1386list(APPEND VNET_SOURCES
Damjan Marion4553c952018-08-26 11:04:40 +02001387 mfib/mfib_forward.c
1388 mfib/ip4_mfib.c
1389 mfib/ip6_mfib.c
Neale Ranns097fa662018-05-01 05:17:55 -07001390 mfib/mfib_api.c
Damjan Marion4553c952018-08-26 11:04:40 +02001391 mfib/mfib_types.c
1392 mfib/mfib_signal.c
1393 mfib/mfib_itf.c
1394 mfib/mfib_entry.c
Neale Ranns9e829a82018-12-17 05:50:32 -08001395 mfib/mfib_entry.c
1396 mfib/mfib_entry_cover.c
1397 mfib/mfib_entry_delegate.c
1398 mfib/mfib_entry_src.c
1399 mfib/mfib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001400 mfib/mfib_table.c
1401)
1402
Filip Tehlar79c27eb2019-03-07 00:30:03 -08001403list(APPEND VNET_MULTIARCH_SOURCES
1404 mfib/mfib_forward.c
1405)
1406
Damjan Marion4553c952018-08-26 11:04:40 +02001407list(APPEND VNET_HEADERS
1408 mfib/ip4_mfib.h
1409 mfib/mfib_types.h
1410 mfib/mfib_table.h
1411)
1412
Benoît Ganned39495d2019-07-25 14:14:03 +02001413list(APPEND VNET_API_FILES mfib/mfib_types.api)
1414
Damjan Marion4553c952018-08-26 11:04:40 +02001415##############################################################################
1416# Utilities
1417##############################################################################
1418
1419list(APPEND VNET_SOURCES
1420 util/radix.c
1421 util/refcount.c
Neale Rannsc8352bc2018-08-29 10:23:58 -07001422 util/throttle.c
Damjan Marion4553c952018-08-26 11:04:40 +02001423 util/trajectory.c
1424)
1425
Damjan Marionac5554c2018-08-30 22:56:59 +02001426list(APPEND VNET_HEADERS
1427 util/throttle.h
1428)
1429
Damjan Marion4553c952018-08-26 11:04:40 +02001430##############################################################################
1431# QoS
1432##############################################################################
1433
1434list(APPEND VNET_SOURCES
1435 qos/qos_types.c
1436 qos/qos_api.c
1437 qos/qos_egress_map.c
1438 qos/qos_record.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001439 qos/qos_record_node.c
Neale Ranns83832e72019-07-31 02:48:02 -07001440 qos/qos_store.c
1441 qos/qos_store_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001442 qos/qos_mark.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001443 qos/qos_mark_node.c
1444)
1445
1446list(APPEND VNET_MULTIARCH_SOURCES
1447 qos/qos_record_node.c
1448 qos/qos_mark_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001449)
1450
1451list(APPEND VNET_API_FILES qos/qos.api)
1452
1453##############################################################################
1454# BIER
1455##############################################################################
1456
1457list(APPEND VNET_SOURCES
1458 bier/bier_bit_string.c
1459 bier/bier_entry.c
1460 bier/bier_fmask.c
1461 bier/bier_fmask_db.c
1462 bier/bier_input.c
1463 bier/bier_lookup.c
1464 bier/bier_output.c
1465 bier/bier_table.c
1466 bier/bier_types.c
Damjan Marion4553c952018-08-26 11:04:40 +02001467 bier/bier_api.c
1468 bier/bier_drop.c
1469 bier/bier_update.c
1470 bier/bier_imp_node.c
1471 bier/bier_imp.c
1472 bier/bier_disp_entry.c
1473 bier/bier_disp_lookup_node.c
1474 bier/bier_disp_dispatch_node.c
1475 bier/bier_disp_table.c
1476 bier/bier_bift_table.c
1477)
1478
Filip Tehlara01e0322019-03-05 03:34:52 -08001479list(APPEND VNET_MULTIARCH_SOURCES
1480 bier/bier_disp_dispatch_node.c
1481 bier/bier_disp_lookup_node.c
1482 bier/bier_imp_node.c
1483)
1484
Damjan Marion4553c952018-08-26 11:04:40 +02001485list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001486 bier/bier_types.h
1487 bier/bier_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001488 bier/bier_update.h
Damjan Marion4553c952018-08-26 11:04:40 +02001489 bier/bier_table.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001490)
1491
Damjan Marion4553c952018-08-26 11:04:40 +02001492list(APPEND VNET_API_FILES bier/bier.api)
Damjan Marion612dd6a2018-07-30 12:45:07 +02001493
Florin Coras41c9e042018-09-11 00:10:41 -07001494##############################################################################
Matus Fabianb4515b42018-11-19 04:25:32 -08001495# SYSLOG
1496##############################################################################
1497
1498list (APPEND VNET_SOURCES
1499 syslog/syslog_api.c
1500 syslog/syslog_udp.c
1501 syslog/syslog.c
1502)
1503
1504list(APPEND VNET_HEADERS
1505 syslog/syslog_udp.h
1506 syslog/syslog.h
1507)
1508
1509list(APPEND VNET_API_FILES syslog/syslog.api)
1510
1511##############################################################################
Jakub Grajciar2c504f82019-09-26 10:34:41 +02001512# PCI
1513##############################################################################
1514
1515list (APPEND VNET_SOURCES
1516 pci/pci_types_api.c
1517)
1518
1519list(APPEND VNET_HEADERS
1520 pci/pci_types_api.h
1521)
1522
1523list(APPEND VNET_API_FILES pci/pci_types.api)
1524
1525##############################################################################
Neale Ranns5f8f6172019-04-18 10:23:56 +00001526# NHRP
1527##############################################################################
1528
1529list (APPEND VNET_SOURCES
1530 nhrp/nhrp_api.c
1531 nhrp/nhrp_cli.c
1532 nhrp/nhrp.c
1533)
1534
1535list(APPEND VNET_HEADERS
1536 nhrp/nhrp.h
1537)
1538
1539list(APPEND VNET_API_FILES nhrp/nhrp.api)
1540
1541##############################################################################
Neale Rannscbe25aa2019-09-30 10:53:31 +00001542# ARP/ND
1543##############################################################################
1544
1545list (APPEND VNET_SOURCES
1546 arp/arp_api.c
1547 arp/arp.c
1548 arp/arp_proxy.c
1549)
1550
1551list(APPEND VNET_HEADERS
1552 arp/arp.h
1553)
1554
1555list(APPEND VNET_API_FILES arp/arp.api)
1556
1557list (APPEND VNET_SOURCES
1558 ip6-nd/ip6_mld.c
1559 ip6-nd/ip6_nd.c
1560 ip6-nd/ip6_nd_api.c
1561 ip6-nd/ip6_nd_proxy.c
1562 ip6-nd/ip6_ra.c
1563 ip6-nd/rd_cp.c
1564 ip6-nd/rd_cp_api.c
1565)
1566
1567list(APPEND VNET_HEADERS
1568 ip6-nd/ip6_nd.h
1569)
1570
1571list(APPEND VNET_API_FILES
1572 ip6-nd/ip6_nd.api
1573 ip6-nd/rd_cp.api
1574)
1575
1576##############################################################################
Florin Coras41c9e042018-09-11 00:10:41 -07001577# VNET Library
1578##############################################################################
1579
Damjan Marion4553c952018-08-26 11:04:40 +02001580add_vpp_library(vnet
1581 SOURCES ${VNET_SOURCES}
1582 MULTIARCH_SOURCES ${VNET_MULTIARCH_SOURCES}
1583 INSTALL_HEADERS ${VNET_HEADERS}
1584 API_FILES ${VNET_API_FILES}
1585 LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES}
1586 DEPENDS api_headers
Damjan Marion612dd6a2018-07-30 12:45:07 +02001587)
Florin Coras41c9e042018-09-11 00:10:41 -07001588
1589##############################################################################