cmake: Fix plugins .h includes
[vpp.git] / src / plugins / ioam.am
1 # Copyright (c) 2015 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
14
15 ########################################
16 # iOAM Proof of Transit
17 ########################################
18
19 IOAM_POT_SRC =                                  \
20         ioam/lib-pot/pot_util.c                 \
21         ioam/encap/ip6_ioam_pot.c               \
22         ioam/lib-pot/pot_util.h                 \
23         ioam/lib-pot/math64.h                   \
24         ioam/lib-pot/pot_api.c
25
26 IOAM_POT_NOINST_HDR =                           \
27   ioam/lib-pot/pot_all_api_h.h                  \
28   ioam/lib-pot/pot_msg_enum.h                   \
29   ioam/lib-pot/pot.api.h                        \
30   ioam/lib-pot/pot_util.h                       \
31   ioam/lib-pot/math64.h
32
33 IOAM_POT_API = ioam/lib-pot/pot.api
34
35 ########################################
36 # iOAM trace export for IPv6
37 ########################################
38
39 IOAM_EXPORT_SRC =                 \
40 ioam/export/ioam_export.c         \
41 ioam/export/node.c                \
42 ioam/export/ioam_export.api.h     \
43 ioam/export/ioam_export_thread.c
44
45 IOAM_EXPORT_NOINST_HDR =                \
46   ioam/export/ioam_export_all_api_h.h   \
47   ioam/export/ioam_export_msg_enum.h    \
48   ioam/export/ioam_export.api.h
49
50 IOAM_EXPORT_API = ioam/export/ioam_export.api
51
52 ########################################
53 # iOAM Trace
54 ########################################
55 IOAM_TRACE_SRC =                                \
56         ioam/lib-trace/trace_util.c             \
57         ioam/encap/ip6_ioam_trace.c             \
58         ioam/lib-trace/trace_api.c
59
60 IOAM_TRACE_NOINST_HDR =                 \
61   ioam/lib-trace/trace_all_api_h.h      \
62   ioam/lib-trace/trace_msg_enum.h       \
63   ioam/lib-trace/trace.api.h            \
64   ioam/lib-trace/trace_util.h           \
65   ioam/encap/ip6_ioam_trace.h           \
66   ioam/lib-trace/trace_config.h
67
68 IOAM_TRACE_API = ioam/lib-trace/trace.api
69
70 nobase_include_HEADERS +=                       \
71        ioam/lib-trace/trace_util.h              \
72        ioam/export-common/ioam_export.h
73
74 ########################################
75 # VxLAN-GPE
76 ########################################
77 IOAM_VXLAN_GPE_SRC =                                    \
78         ioam/lib-vxlan-gpe/ioam_encap.c                 \
79         ioam/lib-vxlan-gpe/ioam_decap.c                 \
80         ioam/lib-vxlan-gpe/ioam_transit.c               \
81         ioam/lib-vxlan-gpe/ioam_pop.c                   \
82         ioam/lib-vxlan-gpe/vxlan_gpe_api.c              \
83         ioam/lib-vxlan-gpe/vxlan_gpe_ioam_trace.c       \
84         ioam/lib-vxlan-gpe/vxlan_gpe_ioam.c             \
85         ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.c   \
86         ioam/export-vxlan-gpe/vxlan_gpe_node.c          \
87         ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h\
88         ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_thread.c
89
90 IOAM_VXLAN_GPE_NOINST_HDR =                                     \
91   ioam/lib-vxlan-gpe/vxlan_gpe_all_api_h.h                      \
92   ioam/lib-vxlan-gpe/vxlan_gpe_msg_enum.h                       \
93   ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api.h                       \
94   ioam/lib-vxlan-gpe/vxlan_gpe_ioam_util.h                      \
95   ioam/lib-vxlan-gpe/vxlan_gpe_ioam_packet.h                    \
96   ioam/lib-vxlan-gpe/vxlan_gpe_ioam.h                           \
97   ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_all_api_h.h       \
98   ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_msg_enum.h        \
99   ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h
100
101 IOAM_VXLAN_GPE_API  = ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api
102 IOAM_VXLAN_GPE_API += ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api
103
104 ########################################
105 # iOAM E2E
106 ########################################
107
108 IOAM_E2E_SRC =                                  \
109         ioam/encap/ip6_ioam_e2e.c               \
110         ioam/encap/ip6_ioam_seqno.c             \
111         ioam/lib-e2e/ioam_seqno_lib.c
112
113 IOAM_E2E_NOINST_HDR =                    \
114         ioam/encap/ip6_ioam_e2e.h        \
115         ioam/encap/ip6_ioam_seqno.h      \
116         ioam/lib-e2e/ioam_seqno_lib.h
117
118 ########################################
119 # ipfix collector
120 ########################################
121
122 IPFIX_COLLECTOR_SRC =                           \
123         ioam/ipfixcollector/ipfixcollector.c    \
124         ioam/ipfixcollector/node.c              \
125         ioam/ipfixcollector/ipfixcollector.h
126
127 ########################################
128 # iOAM Analyse
129 ########################################
130
131 IOAM_ANALYSE_SRC =                              \
132         ioam/analyse/ip6/ip6_ioam_analyse.c     \
133         ioam/analyse/ip6/node.c                 \
134         ioam/analyse/ip6/ip6_ioam_analyse.h     \
135         ioam/analyse/ioam_summary_export.c      \
136         ioam/analyse/ioam_analyse.h             \
137         ioam/analyse/ioam_summary_export.h
138
139 ########################################
140 # iOAM record cache and rewrite
141 ########################################
142
143 IOAM_IP6_MANYCAST_SRC =        \
144 ioam/ip6/ioam_cache.c                     \
145 ioam/ip6/ioam_cache_node.c                \
146 ioam/ip6/ioam_cache_tunnel_select_node.c  \
147 ioam/ip6/ioam_cache.api.h
148
149 IOAM_IP6_MANYCAST_API = ioam/ip6/ioam_cache.api
150
151 IOAM_IP6_MANYCAST_NOINST_HDR =      \
152   ioam/ip6/ioam_cache_all_api_h.h   \
153   ioam/ip6/ioam_cache_msg_enum.h    \
154   ioam/ip6/ioam_cache.api.h
155
156 # udp ping
157 ########################################
158
159 UDP_PING_SRC =                                          \
160         ioam/udp-ping/udp_ping_node.c       \
161         ioam/udp-ping/udp_ping_util.c           \
162         ioam/udp-ping/udp_ping_export.c         \
163         ioam/udp-ping/udp_ping_api.c
164
165 UDP_PING_NOINST_HDR =                               \
166         ioam/udp-ping/udp_ping_packet.h         \
167         ioam/udp-ping/udp_ping.h                    \
168         ioam/udp-ping/udp_ping_util.h           \
169         ioam/udp-ping/udp_ping_all_api_h.h      \
170         ioam/udp-ping/udp_ping_msg_enum.h       \
171         ioam/udp-ping/udp_ping.api.h
172
173 UDP_PING_API = ioam/udp-ping/udp_ping.api
174 ########################################
175 # iOAM plugins
176 ########################################
177
178 ioam_plugin_la_SOURCES =                    \
179         $(IOAM_POT_SRC)             \
180         $(IOAM_EXPORT_SRC)          \
181         $(IOAM_TRACE_SRC)           \
182         $(IOAM_VXLAN_GPE_SRC)           \
183         $(IOAM_E2E_SRC)                     \
184                 $(IPFIX_COLLECTOR_SRC)          \
185                 $(IOAM_ANALYSE_SRC)                 \
186         $(IOAM_IP6_MANYCAST_SRC)    \
187                 $(UDP_PING_SRC)
188
189 API_FILES +=                                        \
190         $(IOAM_POT_API)                 \
191         $(IOAM_EXPORT_API)              \
192         $(IOAM_TRACE_API)               \
193         $(IOAM_VXLAN_GPE_API)               \
194         $(IOAM_IP6_MANYCAST_API)        \
195                 $(UDP_PING_API)
196
197 nobase_apiinclude_HEADERS +=                               \
198         $(IOAM_POT_NOINST_HDR)                  \
199         $(IOAM_EXPORT_NOINST_HDR)               \
200         $(IOAM_TRACE_NOINST_HDR)                \
201         $(IOAM_VXLAN_GPE_NOINST_HDR)            \
202         $(IOAM_E2E_NOINST_HDR)                          \
203         $(IOAM_IP6_MANYCAST_NOINST_HDR)         \
204                 $(UDP_PING_NOINST_HDR)
205
206 vppplugins_LTLIBRARIES += ioam_plugin.la
207
208 ########################################
209 # iOAM plugins
210 ########################################
211
212 ioam_test_plugin_la_SOURCES = \
213   ioam/ioam_test.c                                              \
214   ioam/lib-pot/pot_test.c                                       \
215   ioam/lib-pot/pot_plugin.api.h                                 \
216   ioam/lib-trace/trace_test.c                                   \
217   ioam/lib-trace/trace_plugin.api.h                             \
218   ioam/export/ioam_export_test.c                                \
219   ioam/export/ioam_export_plugin.api.h                          \
220   ioam/lib-vxlan-gpe/vxlan_gpe_test.c                           \
221   ioam/lib-vxlan-gpe/vxlan_gpe_plugin.api.h                     \
222   ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_test.c            \
223   ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_plugin.api.h      \
224   ioam/udp-ping/udp_ping_test.c                                 \
225   ioam/udp-ping/udp_ping_plugin.api.h
226
227 vppapitestplugins_LTLIBRARIES += ioam_test_plugin.la
228
229 # vi:syntax=automake