blob: a0873a61b384e1c9999c9921dd8dc333f8f820f2 [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
Nick Zavaritsky27518c22020-02-27 15:54:58 +0000463 ip/vtep.c
Damjan Marion4553c952018-08-26 11:04:40 +0200464)
465
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700466list(APPEND VNET_MULTIARCH_SOURCES
467 ip/ip4_source_check.c
468 ip/ip4_punt_drop.c
Klement Sekera896c8962019-06-24 11:52:49 +0000469 ip/reass/ip4_full_reass.c
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700470 ip/ip6_hop_by_hop.c
Klement Sekera896c8962019-06-24 11:52:49 +0000471 ip/reass/ip6_full_reass.c
Klement Sekerade34c352019-06-25 11:19:22 +0000472 ip/reass/ip4_sv_reass.c
473 ip/ip6_hop_by_hop.c
474 ip/reass/ip6_full_reass.c
475 ip/reass/ip6_sv_reass.c
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700476 ip/ip6_input.c
477 ip/ip6_punt_drop.c
Neale Ranns50f0ac02019-05-15 02:13:37 -0700478 ip/punt_node.c
Filip Tehlar26ea14e2019-03-11 05:30:21 -0700479 ip/ip_in_out_acl.c
480)
481
Damjan Marion4553c952018-08-26 11:04:40 +0200482list(APPEND VNET_HEADERS
483 ip/format.h
484 ip/icmp46_packet.h
485 ip/icmp4.h
486 ip/icmp6.h
487 ip/igmp_packet.h
488 ip/ip4_error.h
489 ip/ip4.h
490 ip/ip4_mtrie.h
491 ip/ip4_packet.h
Neale Rannscbe25aa2019-09-30 10:53:31 +0000492 ip/ip46_address.h
Damjan Marion4553c952018-08-26 11:04:40 +0200493 ip/ip6_error.h
494 ip/ip6.h
495 ip/ip6_hop_by_hop.h
496 ip/ip6_hop_by_hop_packet.h
497 ip/ip6_packet.h
Damjan Marion4553c952018-08-26 11:04:40 +0200498 ip/ip.h
499 ip/ip_packet.h
500 ip/ip_source_and_port_range_check.h
Neale Rannsea93e482019-11-12 17:16:47 +0000501 ip/ip_types.h
Damjan Marion4553c952018-08-26 11:04:40 +0200502 ip/lookup.h
503 ip/ports.def
504 ip/protocols.def
505 ip/punt_error.def
506 ip/punt.h
507)
508
509list(APPEND VNET_API_FILES
510 ip/ip.api
Damjan Marion4553c952018-08-26 11:04:40 +0200511 ip/punt.api
512)
513
Damjan Marion38173502019-02-13 19:30:09 +0100514list(APPEND VNET_MULTIARCH_SOURCES
515 ip/ip4_forward.c
516 ip/ip6_forward.c
517 ip/ip4_input.c
518)
Damjan Marion4553c952018-08-26 11:04:40 +0200519
520##############################################################################
Neale Rannscbe25aa2019-09-30 10:53:31 +0000521# Layer 3 neighbours
Damjan Marion4553c952018-08-26 11:04:40 +0200522##############################################################################
523list(APPEND VNET_SOURCES
Neale Rannscbe25aa2019-09-30 10:53:31 +0000524 ip-neighbor/ip_neighbor.c
525 ip-neighbor/ip_neighbor_api.c
526 ip-neighbor/ip_neighbor_dp.c
527 ip-neighbor/ip_neighbor_types.c
528 ip-neighbor/ip_neighbor_watch.c
529 ip-neighbor/ip4_neighbor.c
530 ip-neighbor/ip6_neighbor.c
Damjan Marion4553c952018-08-26 11:04:40 +0200531)
532
533list(APPEND VNET_HEADERS
Neale Rannscbe25aa2019-09-30 10:53:31 +0000534 ip-neighbor/ip_neighbor.h
535 ip-neighbor/ip_neighbor_types.h
536)
537
538list(APPEND VNET_API_FILES
539 ip-neighbor/ip_neighbor.api
Damjan Marion4553c952018-08-26 11:04:40 +0200540)
541
542##############################################################################
543# Bidirectional Forwarding Detection
544##############################################################################
545
546list(APPEND VNET_HEADERS
547 bfd/bfd_protocol.h
548 bfd/bfd_main.h
549 bfd/bfd_api.h
550 bfd/bfd_udp.h
551)
552
553list(APPEND VNET_SOURCES
554 bfd/bfd_api.h
555 bfd/bfd_udp.c
556 bfd/bfd_main.c
557 bfd/bfd_protocol.c
558 bfd/bfd_cli.c
559 bfd/bfd_api.c
560)
561
562list(APPEND VNET_API_FILES bfd/bfd.api)
563
564##############################################################################
Damjan Marion91f17dc2019-03-18 18:59:25 +0100565# Crypto
566##############################################################################
567
568list(APPEND VNET_SOURCES
569 crypto/cli.c
570 crypto/crypto.c
571 crypto/format.c
572)
573
574list(APPEND VNET_HEADERS
575 crypto/crypto.h
576)
577
578##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200579# Layer 3 protocol: IPSec
580##############################################################################
581list(APPEND VNET_SOURCES
582 ipsec/ipsec.c
583 ipsec/ipsec_cli.c
584 ipsec/ipsec_format.c
Neale Rannsf62a8c02019-04-02 08:13:33 +0000585 ipsec/ipsec_handoff.c
Damjan Marion4553c952018-08-26 11:04:40 +0200586 ipsec/ipsec_input.c
Neale Rannsb71fa752019-04-04 12:43:36 +0000587 ipsec/ipsec_punt.c
Neale Ranns999c8ee2019-02-01 03:31:24 -0800588 ipsec/ipsec_sa.c
589 ipsec/ipsec_spd.c
590 ipsec/ipsec_spd_policy.c
Neale Rannsc87b66c2019-02-07 07:26:12 -0800591 ipsec/ipsec_tun.c
592 ipsec/ipsec_tun_in.c
Damjan Marion4553c952018-08-26 11:04:40 +0200593 ipsec/esp_format.c
594 ipsec/esp_encrypt.c
595 ipsec/esp_decrypt.c
596 ipsec/ah_decrypt.c
597 ipsec/ah_encrypt.c
Damjan Marion4553c952018-08-26 11:04:40 +0200598 ipsec/ipsec_api.c
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530599 ipsec/ipsec_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +0200600)
601
Klement Sekerab8f35442018-10-29 13:38:19 +0100602list(APPEND VNET_MULTIARCH_SOURCES
603 ipsec/esp_encrypt.c
604 ipsec/esp_decrypt.c
605 ipsec/ah_decrypt.c
606 ipsec/ah_encrypt.c
Neale Rannsf62a8c02019-04-02 08:13:33 +0000607 ipsec/ipsec_handoff.c
Kingwel Xiec69ac312019-02-04 01:49:29 -0800608 ipsec/ipsec_output.c
609 ipsec/ipsec_input.c
Neale Rannsc87b66c2019-02-07 07:26:12 -0800610 ipsec/ipsec_tun_in.c
Klement Sekerab8f35442018-10-29 13:38:19 +0100611)
612
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530613list(APPEND VNET_API_FILES ipsec/ipsec_types.api)
Damjan Marion4553c952018-08-26 11:04:40 +0200614list(APPEND VNET_API_FILES ipsec/ipsec.api)
615
616list(APPEND VNET_SOURCES
617 ipsec/ipsec_output.c
618)
619
620list(APPEND VNET_HEADERS
621 ipsec/ipsec.h
Neale Ranns918c1612019-02-21 23:34:59 -0800622 ipsec/ipsec_spd.h
623 ipsec/ipsec_spd_policy.h
624 ipsec/ipsec_sa.h
Neale Ranns12989b52019-09-26 16:20:19 +0000625 ipsec/ipsec_tun.h
Prashant Maheshwaridbf68c92019-11-14 12:42:59 +0530626 ipsec/ipsec_types_api.h
Neale Rannsba05e5d2019-06-07 05:17:07 -0700627 ipsec/ipsec_punt.h
Damjan Marion4553c952018-08-26 11:04:40 +0200628 ipsec/esp.h
629 ipsec/ah.h
Damjan Marion4553c952018-08-26 11:04:40 +0200630)
631
632##############################################################################
633# Layer 3 protocol: osi
634##############################################################################
635list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +0200636 osi/node.c
637 osi/osi.c
638 osi/pg.c
Damjan Marion4553c952018-08-26 11:04:40 +0200639)
640
641list(APPEND VNET_HEADERS
642 osi/osi.h
643)
644
645##############################################################################
646# Layer 4 protocol: tcp
647##############################################################################
648list(APPEND VNET_SOURCES
649 tcp/tcp_api.c
650 tcp/tcp_format.c
651 tcp/tcp_pg.c
652 tcp/tcp_syn_filter4.c
653 tcp/tcp_output.c
654 tcp/tcp_input.c
655 tcp/tcp_newreno.c
Florin Coras2e31cc32018-09-25 14:00:34 -0700656 tcp/tcp_cubic.c
Florin Coras52814732019-06-12 15:38:19 -0700657 tcp/tcp_bt.c
Florin Corasa436a422019-08-20 07:09:31 -0700658 tcp/tcp_debug.c
Damjan Marion4553c952018-08-26 11:04:40 +0200659 tcp/tcp.c
660)
661
Filip Tehlare275bed2019-03-06 00:06:56 -0800662list(APPEND VNET_MULTIARCH_SOURCES
663 tcp/tcp_input.c
664 tcp/tcp_output.c
665 tcp/tcp_syn_filter4.c
666)
667
Damjan Marion4553c952018-08-26 11:04:40 +0200668list(APPEND VNET_HEADERS
669 tcp/tcp_packet.h
670 tcp/tcp_timer.h
671 tcp/tcp_debug.h
672 tcp/tcp.h
673 tcp/tcp_error.def
674)
675
676list(APPEND VNET_API_FILES tcp/tcp.api)
677
678##############################################################################
679# Layer 4 protocol: udp
680##############################################################################
681list(APPEND VNET_SOURCES
682 udp/udp.c
683 udp/udp_input.c
684 udp/udp_format.c
685 udp/udp_local.c
686 udp/udp_pg.c
687 udp/udp_encap_node.c
688 udp/udp_encap.c
689 udp/udp_api.c
690)
691
Filip Tehlar2c49ffe2019-03-06 07:16:08 -0800692list(APPEND VNET_MULTIARCH_SOURCES
693 udp/udp_local.c
694 udp/udp_encap_node.c
695)
696
Damjan Marion4553c952018-08-26 11:04:40 +0200697list(APPEND VNET_HEADERS
698 udp/udp_error.def
699 udp/udp.h
700 udp/udp_packet.h
701)
702
703list(APPEND VNET_API_FILES udp/udp.api)
704
705##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200706# Tunnel protocol: gre
707##############################################################################
708list(APPEND VNET_SOURCES
709 gre/gre.c
710 gre/node.c
711 gre/interface.c
712 gre/pg.c
713 gre/gre_api.c
714)
715
Filip Tehlar0fce11f2019-03-04 09:21:59 -0800716list(APPEND VNET_MULTIARCH_SOURCES
717 gre/node.c
718 gre/gre.c
719)
720
Damjan Marion4553c952018-08-26 11:04:40 +0200721list(APPEND VNET_HEADERS
722 gre/gre.h
723 gre/packet.h
724 gre/error.def
725)
726
727list(APPEND VNET_API_FILES gre/gre.api)
728
729##############################################################################
730# Tunnel protocol: ipip
731##############################################################################
732list(APPEND VNET_SOURCES
733 ipip/ipip.c
734 ipip/node.c
735 ipip/sixrd.c
736 ipip/ipip_api.c
737 ipip/ipip_cli.c
738)
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
746)
747
Neale Ranns95346962019-11-25 13:04:44 +0000748list(APPEND VNET_API_FILES
Neale Ranns95346962019-11-25 13:04:44 +0000749 ipip/ipip.api
750)
Damjan Marion4553c952018-08-26 11:04:40 +0200751
752##############################################################################
Neale Ranns59ff9182019-12-29 23:55:18 +0000753# Tunnel infra
754##############################################################################
755list(APPEND VNET_SOURCES
756 tunnel/tunnel.c
757 tunnel/tunnel_types_api.c
758)
759
760list(APPEND VNET_API_FILES
761 tunnel/tunnel_types.api
762)
763
764list(APPEND VNET_HEADERS
765 tunnel/tunnel.h
Neale Rannse5b94dd2019-12-31 05:13:14 +0000766 tunnel/tunnel_dp.h
Neale Ranns59ff9182019-12-29 23:55:18 +0000767)
768
769##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200770# Tunnel protocol: l2tpv3
771##############################################################################
772list(APPEND VNET_SOURCES
773 l2tp/l2tp.c
774 l2tp/encap.c
775 l2tp/decap.c
776 l2tp/pg.c
777 l2tp/l2tp_api.c
778)
779
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -0700780list(APPEND VNET_MULTIARCH_SOURCES
781 l2tp/encap.c
782 l2tp/decap.c
783)
784
Damjan Marion4553c952018-08-26 11:04:40 +0200785list(APPEND VNET_HEADERS
786 l2tp/l2tp.h
787 l2tp/packet.h
788)
789
790list(APPEND VNET_API_FILES l2tp/l2tp.api)
791
792##############################################################################
793# Tunnel protocol: gre+mpls
794##############################################################################
795list(APPEND VNET_SOURCES
796 mpls/mpls.c
797 mpls/mpls_lookup.c
798 mpls/mpls_output.c
799 mpls/mpls_features.c
800 mpls/mpls_input.c
801 mpls/interface.c
802 mpls/mpls_tunnel.c
803 mpls/pg.c
804 mpls/mpls_api.c
805)
806
Filip Tehlar17fcd982019-03-05 04:32:11 -0800807list(APPEND VNET_MULTIARCH_SOURCES
808 mpls/mpls_output.c
809 mpls/mpls_input.c
810 mpls/mpls_lookup.c
811 mpls/mpls_features.c
812)
813
Damjan Marion4553c952018-08-26 11:04:40 +0200814list(APPEND VNET_HEADERS
815 mpls/mpls.h
816 mpls/mpls_types.h
817 mpls/mpls_tunnel.h
818 mpls/packet.h
819 mpls/error.def
820)
821
822list(APPEND VNET_API_FILES mpls/mpls.api)
823
824##############################################################################
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200825# Tunnel protocol: vxlan-gbp
826##############################################################################
827list(APPEND VNET_SOURCES
828 vxlan-gbp/decap.c
829 vxlan-gbp/encap.c
830 vxlan-gbp/vxlan_gbp_api.c
831 vxlan-gbp/vxlan_gbp.c
Neale Ranns93cc3ee2018-10-10 07:22:51 -0700832 vxlan-gbp/vxlan_gbp_packet.c
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200833)
834
Filip Tehlare1714d32019-03-05 03:01:43 -0800835list (APPEND VNET_MULTIARCH_SOURCES
836 vxlan-gbp/decap.c
837 vxlan-gbp/encap.c
838)
839
Mohsin Kazmi61b94c62018-08-20 18:32:39 +0200840list(APPEND VNET_HEADERS
841 vxlan-gbp/vxlan_gbp.h
842 vxlan-gbp/vxlan_gbp_packet.h
843 vxlan-gbp/vxlan_gbp_error.def
844)
845
846list(APPEND VNET_API_FILES vxlan-gbp/vxlan_gbp.api)
847
848##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200849# Tunnel protocol: vxlan-gpe
850##############################################################################
851
852list(APPEND VNET_SOURCES
853 vxlan-gpe/vxlan_gpe.c
854 vxlan-gpe/encap.c
855 vxlan-gpe/decap.c
856 vxlan-gpe/vxlan_gpe_api.c
857)
858
Filip Tehlare1714d32019-03-05 03:01:43 -0800859list (APPEND VNET_MULTIARCH_SOURCES
860 vxlan-gpe/decap.c
861)
862
Damjan Marion4553c952018-08-26 11:04:40 +0200863list(APPEND VNET_HEADERS
864 vxlan-gpe/vxlan_gpe.h
865 vxlan-gpe/vxlan_gpe_packet.h
866 vxlan-gpe/vxlan_gpe_error.def
867)
868
869list(APPEND VNET_API_FILES vxlan-gpe/vxlan_gpe.api)
870
871##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200872# LISP control plane: lisp-cp
873##############################################################################
874
875list(APPEND VNET_SOURCES
876 lisp-cp/lisp_types.c
877 lisp-cp/lisp_cp_dpo.c
878 lisp-cp/control.c
879 lisp-cp/gid_dictionary.c
880 lisp-cp/lisp_msg_serdes.c
881 lisp-cp/packets.c
882 lisp-cp/one_cli.c
883 lisp-cp/lisp_cli.c
884 lisp-cp/one_api.c
885 lisp-cp/lisp_api.c
886)
887
888list(APPEND VNET_HEADERS
889 lisp-cp/lisp_types.h
890 lisp-cp/packets.h
891 lisp-cp/gid_dictionary.h
892 lisp-cp/lisp_cp_messages.h
893 lisp-cp/lisp_msg_serdes.h
894 lisp-cp/control.h
895)
896
897list(APPEND VNET_API_FILES lisp-cp/lisp.api)
898list(APPEND VNET_API_FILES lisp-cp/one.api)
899
900##############################################################################
901# Tunnel protocol: lisp-gpe
902##############################################################################
903
904list(APPEND VNET_SOURCES
905 lisp-gpe/lisp_gpe.c
906 lisp-gpe/lisp_gpe_sub_interface.c
907 lisp-gpe/lisp_gpe_adjacency.c
908 lisp-gpe/lisp_gpe_tunnel.c
909 lisp-gpe/lisp_gpe_fwd_entry.c
910 lisp-gpe/lisp_gpe_tenant.c
911 lisp-gpe/interface.c
912 lisp-gpe/decap.c
913 lisp-gpe/lisp_gpe_api.c
914)
915
916list(APPEND VNET_HEADERS
917 lisp-gpe/lisp_gpe.h
918 lisp-gpe/lisp_gpe_fwd_entry.h
919 lisp-gpe/lisp_gpe_tenant.h
920 lisp-gpe/lisp_gpe_packet.h
921 lisp-gpe/lisp_gpe_error.def
922)
923
924list(APPEND VNET_API_FILES lisp-gpe/lisp_gpe.api)
925
926##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200927# ipv6 segment routing
928##############################################################################
929
930list(APPEND VNET_SOURCES
931 srv6/sr.c
932 srv6/sr_localsid.c
933 srv6/sr_policy_rewrite.c
934 srv6/sr_steering.c
935 srv6/sr_api.c
936)
937
938list(APPEND VNET_HEADERS
939 srv6/sr_packet.h
940 srv6/sr.h
941)
942
943list(APPEND VNET_API_FILES srv6/sr.api)
944
945##############################################################################
946# mpls segment routing
947##############################################################################
948
949list(APPEND VNET_SOURCES
950 srmpls/sr_mpls_policy.c
951 srmpls/sr_mpls_steering.c
952 srmpls/sr_mpls_api.c
953)
954
955list(APPEND VNET_HEADERS
956 srmpls/sr_mpls.h
957)
958
959list(APPEND VNET_API_FILES srmpls/sr_mpls.api)
960
961##############################################################################
962# IPFIX / netflow v10
963##############################################################################
964list(APPEND VNET_SOURCES
965 ipfix-export/flow_report.c
966 ipfix-export/flow_api.c
967)
968
969list(APPEND VNET_HEADERS
970 ipfix-export/flow_report.h
971 ipfix-export/ipfix_info_elements.h
972 ipfix-export/ipfix_packet.h
973)
974
975list(APPEND VNET_API_FILES ipfix-export/ipfix_export.api)
976
977##############################################################################
Mohsin Kazmi29467b52019-10-08 19:42:38 +0200978# GSO
979##############################################################################
980list(APPEND VNET_SOURCES
981 gso/cli.c
982 gso/gso.c
983 gso/gso_api.c
984 gso/node.c
985)
986
987list(APPEND VNET_HEADERS
988 gso/gso.h
989)
990
991list(APPEND VNET_API_FILES
992 gso/gso.api
993)
994
995##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +0200996# IPFIX classify code
997##############################################################################
998
999list(APPEND VNET_SOURCES
1000 ipfix-export/flow_report_classify.c
1001)
1002
1003list(APPEND VNET_HEADERS
1004 ipfix-export/flow_report_classify.h
1005)
1006
1007##############################################################################
1008# lawful intercept
1009##############################################################################
1010
1011list(APPEND VNET_SOURCES
1012 lawful-intercept/lawful_intercept.c
1013 lawful-intercept/node.c
1014)
1015
Filip Tehlarc3a0e8d2019-03-11 05:53:35 -07001016list(APPEND VNET_MULTIARCH_SOURCES
1017 lawful-intercept/node.c
1018)
1019
Damjan Marion4553c952018-08-26 11:04:40 +02001020list(APPEND VNET_HEADERS
1021 lawful-intercept/lawful_intercept.h
1022)
1023
1024##############################################################################
1025# SPAN (port mirroring)
1026##############################################################################
1027
1028list(APPEND VNET_SOURCES
1029 span/span_api.c
1030 span/span.c
1031 span/node.c
1032)
1033
Filip Tehlara79271f2019-03-05 03:46:40 -08001034list(APPEND VNET_MULTIARCH_SOURCES
1035 span/node.c
1036)
1037
Damjan Marion4553c952018-08-26 11:04:40 +02001038list(APPEND VNET_HEADERS
1039 span/span.h
1040)
1041
1042list(APPEND VNET_API_FILES span/span.api)
1043
1044##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001045# Packet generator
1046##############################################################################
1047
1048list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001049 pg/cli.c
1050 pg/edit.c
1051 pg/init.c
1052 pg/input.c
1053 pg/output.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001054 pg/stream.c
Damjan Marion4553c952018-08-26 11:04:40 +02001055 pg/pg_api.c
1056)
1057
1058list(APPEND VNET_HEADERS
1059 pg/pg.h
1060 pg/edit.h
1061)
1062
1063list(APPEND VNET_API_FILES pg/pg.api)
1064
1065##############################################################################
1066# virtio
1067##############################################################################
1068
1069list(APPEND VNET_SOURCES
Damjan Marionf41244f2019-11-08 17:41:06 +01001070 devices/virtio/cli.c
Damjan Marion4553c952018-08-26 11:04:40 +02001071 devices/virtio/device.c
Damjan Marionf41244f2019-11-08 17:41:06 +01001072 devices/virtio/format.c
Damjan Marion4553c952018-08-26 11:04:40 +02001073 devices/virtio/node.c
Damjan Marionf41244f2019-11-08 17:41:06 +01001074 devices/virtio/pci.c
Damjan Marion4553c952018-08-26 11:04:40 +02001075 devices/virtio/vhost_user.c
1076 devices/virtio/vhost_user_input.c
1077 devices/virtio/vhost_user_output.c
1078 devices/virtio/vhost_user_api.c
1079 devices/virtio/virtio.c
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001080 devices/virtio/virtio_api.c
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001081 devices/virtio/virtio_types_api.c
Damjan Marion4553c952018-08-26 11:04:40 +02001082)
1083
1084list(APPEND VNET_HEADERS
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001085 devices/virtio/pci.h
Damjan Marion4553c952018-08-26 11:04:40 +02001086 devices/virtio/virtio.h
1087 devices/virtio/vhost_user.h
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001088 devices/virtio/virtio_types_api.h
Damjan Marion4553c952018-08-26 11:04:40 +02001089)
1090
1091list(APPEND VNET_MULTIARCH_SOURCES
1092 devices/virtio/vhost_user_input.c
1093 devices/virtio/vhost_user_output.c
Filip Tehlar608996d2019-03-04 03:03:13 -08001094 devices/virtio/node.c
1095 devices/af_packet/node.c
Filip Tehlaraee73642019-03-13 05:50:44 -07001096 devices/virtio/device.c
Damjan Marion4553c952018-08-26 11:04:40 +02001097)
1098
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001099list(APPEND VNET_API_FILES
1100 devices/virtio/vhost_user.api
1101 devices/virtio/virtio.api
Jakub Grajciar5d4c99f2019-09-26 10:21:59 +02001102 devices/virtio/virtio_types.api
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001103)
Damjan Marion4553c952018-08-26 11:04:40 +02001104
1105##############################################################################
1106# tap interface (with virtio backend)
1107##############################################################################
1108
1109list(APPEND VNET_SOURCES
1110 devices/tap/cli.c
1111 devices/tap/tap.c
1112 devices/tap/tapv2_api.c
1113)
1114
1115list(APPEND VNET_HEADERS
1116 devices/tap/tap.h
1117)
1118
1119list(APPEND VNET_API_FILES devices/tap/tapv2.api)
1120
1121##############################################################################
1122# tap interface (with virtio backend)
1123##############################################################################
1124
1125list(APPEND VNET_SOURCES
1126 devices/pipe/pipe_api.c
1127 devices/pipe/pipe.c
1128)
1129
1130list(APPEND VNET_HEADERS
1131 devices/pipe/pipe.h
1132)
1133
1134list(APPEND VNET_API_FILES devices/pipe/pipe.api)
1135
1136##############################################################################
1137# session managmeent
1138##############################################################################
1139
1140list(APPEND VNET_SOURCES
1141 session/session.c
1142 session/session_table.c
1143 session/session_rules_table.c
1144 session/session_lookup.c
1145 session/session_node.c
1146 session/transport.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001147 session/application.c
Florin Coras623eb562019-02-03 19:28:34 -08001148 session/application_worker.c
Damjan Marion4553c952018-08-26 11:04:40 +02001149 session/session_cli.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001150 session/application_interface.c
Florin Corasba7d8f52019-02-22 13:11:38 -08001151 session/application_local.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001152 session/application_namespace.c
Damjan Marion4553c952018-08-26 11:04:40 +02001153 session/segment_manager.c
Damjan Marion4553c952018-08-26 11:04:40 +02001154 session/session_api.c
1155)
1156
1157list(APPEND VNET_HEADERS
1158 session/session.h
1159 session/session_table.h
1160 session/session_rules_table.h
Florin Coras288eaab2019-02-03 15:26:14 -08001161 session/session_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001162 session/session_lookup.h
1163 session/application.h
1164 session/transport.h
Florin Coras1ee78302019-02-05 15:51:15 -08001165 session/transport_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001166 session/application_interface.h
Florin Corasba7d8f52019-02-22 13:11:38 -08001167 session/application_local.h
Damjan Marion4553c952018-08-26 11:04:40 +02001168 session/application_namespace.h
1169 session/session_debug.h
1170 session/segment_manager.h
1171 session/mma_template.h
1172 session/mma_template.c
1173 session/mma_16.h
1174 session/mma_40.h
1175)
1176
1177list(APPEND VNET_API_FILES session/session.api)
1178
1179##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001180# TLS protocol
1181##############################################################################
1182
1183list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001184 tls/tls.c
Damjan Marion4553c952018-08-26 11:04:40 +02001185)
1186
1187list(APPEND VNET_HEADERS
1188 tls/tls.h
Florin Coras54a51fd2019-02-07 15:34:52 -08001189 tls/tls_test.h
Damjan Marion4553c952018-08-26 11:04:40 +02001190)
1191
1192##############################################################################
1193# Linux packet interface
1194##############################################################################
1195
1196list(APPEND VNET_SOURCES
1197 devices/af_packet/af_packet.c
1198 devices/af_packet/device.c
1199 devices/af_packet/node.c
1200 devices/af_packet/cli.c
1201 devices/af_packet/af_packet_api.c
1202)
1203
Filip Tehlaraee73642019-03-13 05:50:44 -07001204list(APPEND VNET_MULTIARCH_SOURCES
Filip Tehlaraee73642019-03-13 05:50:44 -07001205 devices/af_packet/device.c
1206)
1207
Damjan Marion4553c952018-08-26 11:04:40 +02001208list(APPEND VNET_HEADERS
1209 devices/af_packet/af_packet.h
1210)
1211
1212list(APPEND VNET_API_FILES devices/af_packet/af_packet.api)
1213
1214##############################################################################
Damjan Marion4553c952018-08-26 11:04:40 +02001215# Driver feature graph arc support
1216##############################################################################
1217
1218list(APPEND VNET_SOURCES
1219 feature/feature.c
1220 feature/feature_api.c
1221 feature/registration.c
1222)
1223
1224list(APPEND VNET_HEADERS
1225 feature/feature.h
1226)
1227
1228list(APPEND VNET_API_FILES feature/feature.api)
1229
1230##############################################################################
1231# Unix kernel related
1232##############################################################################
1233
1234# FIXME: unix/hgshm.c
1235
1236list(APPEND VNET_SOURCES
Damjan Marion612dd6a2018-07-30 12:45:07 +02001237 unix/gdb_funcs.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001238 unix/tuntap.c
Damjan Marion612dd6a2018-07-30 12:45:07 +02001239)
1240
Damjan Marion4553c952018-08-26 11:04:40 +02001241list(APPEND VNET_HEADERS
Damjan Marion4553c952018-08-26 11:04:40 +02001242 unix/tuntap.h
Damjan Marion612dd6a2018-07-30 12:45:07 +02001243)
1244
Damjan Marion4553c952018-08-26 11:04:40 +02001245##############################################################################
1246# FIB
1247##############################################################################
1248
1249list(APPEND VNET_SOURCES
1250 fib/fib.c
Damjan Marion4553c952018-08-26 11:04:40 +02001251 fib/ip4_fib.c
1252 fib/ip6_fib.c
1253 fib/mpls_fib.c
1254 fib/fib_table.c
1255 fib/fib_walk.c
1256 fib/fib_types.c
1257 fib/fib_node.c
1258 fib/fib_node_list.c
1259 fib/fib_entry.c
1260 fib/fib_entry_src.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001261 fib/fib_entry_src_adj.c
1262 fib/fib_entry_src_api.c
1263 fib/fib_entry_src_drop.c
Damjan Marion4553c952018-08-26 11:04:40 +02001264 fib/fib_entry_src_interface.c
1265 fib/fib_entry_src_interpose.c
Damjan Marion4553c952018-08-26 11:04:40 +02001266 fib/fib_entry_src_lisp.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001267 fib/fib_entry_src_mpls.c
1268 fib/fib_entry_src_simple.c
1269 fib/fib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001270 fib/fib_entry_cover.c
1271 fib/fib_entry_delegate.c
Neale Ranns1f50bf82019-07-16 15:28:52 +00001272 fib/fib_entry_track.c
Damjan Marion4553c952018-08-26 11:04:40 +02001273 fib/fib_path_list.c
1274 fib/fib_path.c
1275 fib/fib_path_ext.c
Neale Ranns3bab8f92019-12-04 06:11:00 +00001276 fib/fib_source.c
Damjan Marion4553c952018-08-26 11:04:40 +02001277 fib/fib_urpf_list.c
1278 fib/fib_attached_export.c
1279 fib/fib_api.c
1280 fib/fib_bfd.c
1281)
1282
1283list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001284 fib/fib.h
Damjan Marion4553c952018-08-26 11:04:40 +02001285 fib/fib_api.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001286 fib/ip4_fib.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001287 fib/ip6_fib.h
1288 fib/fib_types.h
Damjan Marion4553c952018-08-26 11:04:40 +02001289 fib/fib_table.h
1290 fib/fib_node.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001291 fib/fib_node_list.h
Damjan Marion4553c952018-08-26 11:04:40 +02001292 fib/fib_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001293 fib/fib_entry_delegate.h
Neale Ranns3bab8f92019-12-04 06:11:00 +00001294 fib/fib_source.h
Damjan Marion4553c952018-08-26 11:04:40 +02001295)
1296
Benoît Ganned39495d2019-07-25 14:14:03 +02001297list(APPEND VNET_API_FILES fib/fib_types.api)
1298
Damjan Marion4553c952018-08-26 11:04:40 +02001299##############################################################################
1300# ADJ
1301##############################################################################
1302
1303list(APPEND VNET_SOURCES
1304 adj/adj_nbr.c
1305 adj/adj_glean.c
1306 adj/adj_midchain.c
Neale Ranns4c3ba812019-03-26 07:02:58 +00001307 adj/adj_midchain_delegate.c
Damjan Marion4553c952018-08-26 11:04:40 +02001308 adj/adj_mcast.c
1309 adj/adj_l2.c
1310 adj/adj_nsh.c
1311 adj/adj.c
1312 adj/rewrite.c
1313 adj/adj_bfd.c
1314 adj/adj_delegate.c
1315)
1316
Filip Tehlar0b2c15d2019-03-04 02:52:54 -08001317list(APPEND VNET_MULTIARCH_SOURCES
1318 adj/adj_nsh.c
1319 adj/adj_l2.c
1320)
1321
Damjan Marion4553c952018-08-26 11:04:40 +02001322list(APPEND VNET_HEADERS
1323 adj/adj.h
1324 adj/adj_types.h
1325 adj/adj_glean.h
1326 adj/adj_nsh.h
1327 adj/adj_nbr.h
Alberto Compagnod8ca1e42019-08-12 11:43:19 +02001328 adj/adj_midchain.h
Damjan Marion4553c952018-08-26 11:04:40 +02001329 adj/rewrite.h
1330)
1331
1332##############################################################################
1333# Data-Plane Objects
1334##############################################################################
1335
1336list(APPEND VNET_SOURCES
1337 dpo/dpo.c
1338 dpo/drop_dpo.c
1339 dpo/ip_null_dpo.c
1340 dpo/ip6_ll_dpo.c
1341 dpo/punt_dpo.c
1342 dpo/receive_dpo.c
1343 dpo/load_balance.c
1344 dpo/load_balance_map.c
1345 dpo/lookup_dpo.c
1346 dpo/classify_dpo.c
1347 dpo/replicate_dpo.c
1348 dpo/interface_rx_dpo.c
1349 dpo/interface_tx_dpo.c
1350 dpo/mpls_disposition.c
1351 dpo/mpls_label_dpo.c
1352 dpo/l3_proxy_dpo.c
1353 dpo/dvr_dpo.c
Neale Ranns1dbcf302019-07-19 11:44:53 +00001354 dpo/pw_cw.c
Damjan Marion4553c952018-08-26 11:04:40 +02001355)
1356
Filip Tehlareb9a27f2019-03-07 01:42:11 -08001357list(APPEND VNET_MULTIARCH_SOURCES
1358 dpo/lookup_dpo.h
1359 dpo/mpls_disposition.c
1360 dpo/dvr_dpo.c
1361 dpo/mpls_label_dpo.c
1362 dpo/interface_rx_dpo.c
1363)
1364
Damjan Marion4553c952018-08-26 11:04:40 +02001365list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001366 dpo/load_balance.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001367 dpo/drop_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001368 dpo/lookup_dpo.h
1369 dpo/punt_dpo.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001370 dpo/classify_dpo.h
1371 dpo/receive_dpo.h
1372 dpo/ip_null_dpo.h
1373 dpo/replicate_dpo.h
Damjan Marion4553c952018-08-26 11:04:40 +02001374 dpo/dpo.h
1375)
1376
1377##############################################################################
1378# Multicast FIB
1379##############################################################################
1380
1381list(APPEND VNET_SOURCES
Damjan Marion4553c952018-08-26 11:04:40 +02001382 mfib/mfib_forward.c
1383 mfib/ip4_mfib.c
1384 mfib/ip6_mfib.c
Neale Ranns097fa662018-05-01 05:17:55 -07001385 mfib/mfib_api.c
Damjan Marion4553c952018-08-26 11:04:40 +02001386 mfib/mfib_types.c
1387 mfib/mfib_signal.c
1388 mfib/mfib_itf.c
1389 mfib/mfib_entry.c
Neale Ranns9e829a82018-12-17 05:50:32 -08001390 mfib/mfib_entry.c
1391 mfib/mfib_entry_cover.c
1392 mfib/mfib_entry_delegate.c
1393 mfib/mfib_entry_src.c
1394 mfib/mfib_entry_src_rr.c
Damjan Marion4553c952018-08-26 11:04:40 +02001395 mfib/mfib_table.c
1396)
1397
Filip Tehlar79c27eb2019-03-07 00:30:03 -08001398list(APPEND VNET_MULTIARCH_SOURCES
1399 mfib/mfib_forward.c
1400)
1401
Damjan Marion4553c952018-08-26 11:04:40 +02001402list(APPEND VNET_HEADERS
1403 mfib/ip4_mfib.h
1404 mfib/mfib_types.h
1405 mfib/mfib_table.h
1406)
1407
Benoît Ganned39495d2019-07-25 14:14:03 +02001408list(APPEND VNET_API_FILES mfib/mfib_types.api)
1409
Damjan Marion4553c952018-08-26 11:04:40 +02001410##############################################################################
1411# Utilities
1412##############################################################################
1413
1414list(APPEND VNET_SOURCES
1415 util/radix.c
1416 util/refcount.c
Neale Rannsc8352bc2018-08-29 10:23:58 -07001417 util/throttle.c
Damjan Marion4553c952018-08-26 11:04:40 +02001418 util/trajectory.c
1419)
1420
Damjan Marionac5554c2018-08-30 22:56:59 +02001421list(APPEND VNET_HEADERS
1422 util/throttle.h
1423)
1424
Damjan Marion4553c952018-08-26 11:04:40 +02001425##############################################################################
1426# QoS
1427##############################################################################
1428
1429list(APPEND VNET_SOURCES
1430 qos/qos_types.c
1431 qos/qos_api.c
1432 qos/qos_egress_map.c
1433 qos/qos_record.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001434 qos/qos_record_node.c
Neale Ranns83832e72019-07-31 02:48:02 -07001435 qos/qos_store.c
1436 qos/qos_store_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001437 qos/qos_mark.c
Filip Tehlar0bddf7e2019-03-04 08:14:07 -08001438 qos/qos_mark_node.c
1439)
1440
1441list(APPEND VNET_MULTIARCH_SOURCES
1442 qos/qos_record_node.c
1443 qos/qos_mark_node.c
Damjan Marion4553c952018-08-26 11:04:40 +02001444)
1445
1446list(APPEND VNET_API_FILES qos/qos.api)
1447
1448##############################################################################
1449# BIER
1450##############################################################################
1451
1452list(APPEND VNET_SOURCES
1453 bier/bier_bit_string.c
1454 bier/bier_entry.c
1455 bier/bier_fmask.c
1456 bier/bier_fmask_db.c
1457 bier/bier_input.c
1458 bier/bier_lookup.c
1459 bier/bier_output.c
1460 bier/bier_table.c
1461 bier/bier_types.c
Damjan Marion4553c952018-08-26 11:04:40 +02001462 bier/bier_api.c
1463 bier/bier_drop.c
1464 bier/bier_update.c
1465 bier/bier_imp_node.c
1466 bier/bier_imp.c
1467 bier/bier_disp_entry.c
1468 bier/bier_disp_lookup_node.c
1469 bier/bier_disp_dispatch_node.c
1470 bier/bier_disp_table.c
1471 bier/bier_bift_table.c
1472)
1473
Filip Tehlara01e0322019-03-05 03:34:52 -08001474list(APPEND VNET_MULTIARCH_SOURCES
1475 bier/bier_disp_dispatch_node.c
1476 bier/bier_disp_lookup_node.c
1477 bier/bier_imp_node.c
1478)
1479
Damjan Marion4553c952018-08-26 11:04:40 +02001480list(APPEND VNET_HEADERS
Damjan Marion2bfdda72018-08-24 21:36:42 +02001481 bier/bier_types.h
1482 bier/bier_entry.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001483 bier/bier_update.h
Damjan Marion4553c952018-08-26 11:04:40 +02001484 bier/bier_table.h
Damjan Marion2bfdda72018-08-24 21:36:42 +02001485)
1486
Damjan Marion4553c952018-08-26 11:04:40 +02001487list(APPEND VNET_API_FILES bier/bier.api)
Damjan Marion612dd6a2018-07-30 12:45:07 +02001488
Florin Coras41c9e042018-09-11 00:10:41 -07001489##############################################################################
Matus Fabianb4515b42018-11-19 04:25:32 -08001490# SYSLOG
1491##############################################################################
1492
1493list (APPEND VNET_SOURCES
1494 syslog/syslog_api.c
1495 syslog/syslog_udp.c
1496 syslog/syslog.c
1497)
1498
1499list(APPEND VNET_HEADERS
1500 syslog/syslog_udp.h
1501 syslog/syslog.h
1502)
1503
1504list(APPEND VNET_API_FILES syslog/syslog.api)
1505
1506##############################################################################
Jakub Grajciar2c504f82019-09-26 10:34:41 +02001507# PCI
1508##############################################################################
1509
1510list (APPEND VNET_SOURCES
1511 pci/pci_types_api.c
1512)
1513
1514list(APPEND VNET_HEADERS
1515 pci/pci_types_api.h
1516)
1517
1518list(APPEND VNET_API_FILES pci/pci_types.api)
1519
1520##############################################################################
Neale Ranns03ce4622020-02-03 10:55:09 +00001521# Tunnel Endpoint Information Base
Neale Ranns5f8f6172019-04-18 10:23:56 +00001522##############################################################################
1523
1524list (APPEND VNET_SOURCES
Neale Ranns03ce4622020-02-03 10:55:09 +00001525 teib/teib_api.c
1526 teib/teib_cli.c
1527 teib/teib.c
Neale Ranns5f8f6172019-04-18 10:23:56 +00001528)
1529
1530list(APPEND VNET_HEADERS
Neale Ranns03ce4622020-02-03 10:55:09 +00001531 teib/teib.h
Neale Ranns5f8f6172019-04-18 10:23:56 +00001532)
1533
Neale Ranns03ce4622020-02-03 10:55:09 +00001534list(APPEND VNET_API_FILES teib/teib.api)
Neale Ranns5f8f6172019-04-18 10:23:56 +00001535
1536##############################################################################
Neale Rannscbe25aa2019-09-30 10:53:31 +00001537# ARP/ND
1538##############################################################################
1539
1540list (APPEND VNET_SOURCES
1541 arp/arp_api.c
1542 arp/arp.c
1543 arp/arp_proxy.c
1544)
1545
1546list(APPEND VNET_HEADERS
1547 arp/arp.h
1548)
1549
1550list(APPEND VNET_API_FILES arp/arp.api)
1551
1552list (APPEND VNET_SOURCES
1553 ip6-nd/ip6_mld.c
1554 ip6-nd/ip6_nd.c
1555 ip6-nd/ip6_nd_api.c
1556 ip6-nd/ip6_nd_proxy.c
1557 ip6-nd/ip6_ra.c
1558 ip6-nd/rd_cp.c
1559 ip6-nd/rd_cp_api.c
1560)
1561
1562list(APPEND VNET_HEADERS
1563 ip6-nd/ip6_nd.h
1564)
1565
1566list(APPEND VNET_API_FILES
1567 ip6-nd/ip6_nd.api
1568 ip6-nd/rd_cp.api
1569)
1570
1571##############################################################################
Florin Coras41c9e042018-09-11 00:10:41 -07001572# VNET Library
1573##############################################################################
1574
Damjan Marion4553c952018-08-26 11:04:40 +02001575add_vpp_library(vnet
1576 SOURCES ${VNET_SOURCES}
1577 MULTIARCH_SOURCES ${VNET_MULTIARCH_SOURCES}
1578 INSTALL_HEADERS ${VNET_HEADERS}
1579 API_FILES ${VNET_API_FILES}
1580 LINK_LIBRARIES vppinfra svm vlib ${OPENSSL_LIBRARIES}
Chris Lukec171d012020-01-15 20:30:04 -05001581 DEPENDS vpp_version_h api_headers
Damjan Marion612dd6a2018-07-30 12:45:07 +02001582)
Florin Coras41c9e042018-09-11 00:10:41 -07001583
1584##############################################################################
Yulong Peidb43bb62020-01-09 01:12:43 +08001585# vpp api test client library
1586##############################################################################
1587
1588add_vpp_library (vatclient
1589 SOURCES ip/ip_types_api.c
1590 DEPENDS api_headers
1591)
1592
1593##############################################################################