Move java api to extras/
[vpp.git] / src / plugins / ioam.am
index a4984b1..dd59736 100644 (file)
 # iOAM Proof of Transit
 ########################################
 
-ioam_pot_plugin_la_SOURCES =                   \
+IOAM_POT_SRC =                                 \
        ioam/lib-pot/pot_util.c                 \
        ioam/encap/ip6_ioam_pot.c               \
        ioam/lib-pot/pot_util.h                 \
        ioam/lib-pot/math64.h                   \
        ioam/lib-pot/pot_api.c
 
-noinst_HEADERS +=                              \
+IOAM_POT_NOINST_HDR =                          \
   ioam/lib-pot/pot_all_api_h.h                 \
   ioam/lib-pot/pot_msg_enum.h                  \
   ioam/lib-pot/pot.api.h                       \
   ioam/lib-pot/pot_util.h                      \
   ioam/lib-pot/math64.h
 
-API_FILES += ioam/lib-pot/pot.api
+IOAM_POT_API = ioam/lib-pot/pot.api
 
 ioam_pot_test_plugin_la_SOURCES =              \
        ioam/lib-pot/pot_test.c                 \
        ioam/lib-pot/pot_plugin.api.h
 
 vppapitestplugins_LTLIBRARIES += ioam_pot_test_plugin.la
-vppplugins_LTLIBRARIES += ioam_pot_plugin.la
 
 ########################################
 # iOAM trace export for IPv6
 ########################################
 
-ioam_export_plugin_la_SOURCES =   \
+IOAM_EXPORT_SRC =                \
 ioam/export/ioam_export.c         \
 ioam/export/node.c                \
 ioam/export/ioam_export.api.h     \
 ioam/export/ioam_export_thread.c
 
-noinst_HEADERS +=                       \
+IOAM_EXPORT_NOINST_HDR =                \
   ioam/export/ioam_export_all_api_h.h   \
   ioam/export/ioam_export_msg_enum.h    \
   ioam/export/ioam_export.api.h
 
-API_FILES += ioam/export/ioam_export.api
+IOAM_EXPORT_API = ioam/export/ioam_export.api
 
 ioam_export_test_plugin_la_SOURCES =  \
   ioam/export/ioam_export_test.c      \
   ioam/export/ioam_export_plugin.api.h
 
 vppapitestplugins_LTLIBRARIES += ioam_export_test_plugin.la
-vppplugins_LTLIBRARIES += ioam_export_plugin.la
 
 ########################################
 # iOAM Trace
 ########################################
-libioam_trace_plugin_la_SOURCES =              \
+IOAM_TRACE_SRC =                               \
        ioam/lib-trace/trace_util.c             \
        ioam/encap/ip6_ioam_trace.c             \
-       ioam/lib-trace/trace_util.h             \
        ioam/lib-trace/trace_api.c
 
-noinst_HEADERS +=                       \
-  ioam/export/ioam_export_all_api_h.h   \
+IOAM_TRACE_NOINST_HDR =                 \
   ioam/lib-trace/trace_all_api_h.h     \
   ioam/lib-trace/trace_msg_enum.h      \
   ioam/lib-trace/trace.api.h           \
-  ioam/lib-trace/trace_util.h
+  ioam/lib-trace/trace_util.h          \
+  ioam/encap/ip6_ioam_trace.h          \
+  ioam/lib-trace/trace_config.h
 
-API_FILES += ioam/lib-trace/trace.api
+IOAM_TRACE_API = ioam/lib-trace/trace.api
 
 ioam_trace_test_plugin_la_SOURCES =            \
        ioam/lib-trace/trace_test.c             \
        ioam/lib-trace/trace_plugin.api.h
 
 vppapitestplugins_LTLIBRARIES += ioam_trace_test_plugin.la
-vppplugins_LTLIBRARIES += libioam_trace_plugin.la
+
+nobase_include_HEADERS +=                       \
+       ioam/lib-trace/trace_util.h             \
+       ioam/export-common/ioam_export.h
 
 ########################################
 # VxLAN-GPE
 ########################################
-libioam_vxlan_gpe_plugin_la_SOURCES =                  \
+IOAM_VXLAN_GPE_SRC =                                   \
        ioam/lib-vxlan-gpe/ioam_encap.c                 \
        ioam/lib-vxlan-gpe/ioam_decap.c                 \
        ioam/lib-vxlan-gpe/ioam_transit.c               \
@@ -104,27 +105,25 @@ libioam_vxlan_gpe_plugin_la_SOURCES =                     \
        ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h\
        ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_thread.c
 
-noinst_HEADERS +=                       \
-  ioam/export/ioam_export_all_api_h.h   \
+IOAM_VXLAN_GPE_NOINST_HDR =                                    \
   ioam/lib-vxlan-gpe/vxlan_gpe_all_api_h.h                     \
   ioam/lib-vxlan-gpe/vxlan_gpe_msg_enum.h                      \
   ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api.h                      \
   ioam/lib-vxlan-gpe/vxlan_gpe_ioam_util.h                     \
   ioam/lib-vxlan-gpe/vxlan_gpe_ioam_packet.h                    \
-  ioam/lib-vxlan-gpe/vxlan_gpe_ioam.h          \
+  ioam/lib-vxlan-gpe/vxlan_gpe_ioam.h                          \
   ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_all_api_h.h       \
   ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_msg_enum.h        \
   ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h
 
-API_FILES += ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api
-API_FILES += ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api
+IOAM_VXLAN_GPE_API  = ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api
+IOAM_VXLAN_GPE_API += ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api
 
 ioam_vxlan_gpe_test_plugin_la_SOURCES =                \
        ioam/lib-vxlan-gpe/vxlan_gpe_test.c                     \
        ioam/lib-vxlan-gpe/vxlan_gpe_plugin.api.h
 
 vppapitestplugins_LTLIBRARIES += ioam_vxlan_gpe_test_plugin.la
-vppplugins_LTLIBRARIES += libioam_vxlan_gpe_plugin.la
 
 vxlan_gpe_ioam_export_test_plugin_la_SOURCES =          \
   ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_test.c      \
@@ -133,18 +132,114 @@ vxlan_gpe_ioam_export_test_plugin_la_SOURCES =          \
 vppapitestplugins_LTLIBRARIES += vxlan_gpe_ioam_export_test_plugin.la
 
 ########################################
-# iOAM E2E plugin
+# iOAM E2E
 ########################################
 
-ioam_e2e_plugin_la_SOURCES =                \
+IOAM_E2E_SRC =                                 \
        ioam/encap/ip6_ioam_e2e.c               \
-       ioam/encap/ip6_ioam_seqno.c             \
-       ioam/encap/ip6_ioam_seqno_analyse.c
+       ioam/encap/ip6_ioam_seqno.c             \
+       ioam/lib-e2e/ioam_seqno_lib.c
 
-noinst_HEADERS +=                    \
+IOAM_E2E_NOINST_HDR =                    \
        ioam/encap/ip6_ioam_e2e.h        \
-       ioam/encap/ip6_ioam_seqno.h
+       ioam/encap/ip6_ioam_seqno.h      \
+       ioam/lib-e2e/ioam_seqno_lib.h
+
+########################################
+# ipfix collector
+########################################
+
+IPFIX_COLLECTOR_SRC =                          \
+       ioam/ipfixcollector/ipfixcollector.c    \
+       ioam/ipfixcollector/node.c              \
+       ioam/ipfixcollector/ipfixcollector.h
+
+########################################
+# iOAM Analyse
+########################################
+
+IOAM_ANALYSE_SRC =                             \
+       ioam/analyse/ip6/ip6_ioam_analyse.c     \
+       ioam/analyse/ip6/node.c                 \
+       ioam/analyse/ip6/ip6_ioam_analyse.h     \
+       ioam/analyse/ioam_summary_export.c      \
+       ioam/analyse/ioam_analyse.h             \
+       ioam/analyse/ioam_summary_export.h
+
+########################################
+# iOAM record cache and rewrite
+########################################
+
+IOAM_IP6_MANYCAST_SRC =        \
+ioam/ip6/ioam_cache.c                     \
+ioam/ip6/ioam_cache_node.c                \
+ioam/ip6/ioam_cache_tunnel_select_node.c  \
+ioam/ip6/ioam_cache.api.h
+
+IOAM_IP6_MANYCAST_API = ioam/ip6/ioam_cache.api
+
+IOAM_IP6_MANYCAST_NOINST_HDR =      \
+  ioam/ip6/ioam_cache_all_api_h.h   \
+  ioam/ip6/ioam_cache_msg_enum.h    \
+  ioam/ip6/ioam_cache.api.h
+
+# udp ping
+########################################
+
+UDP_PING_SRC =                                                 \
+       ioam/udp-ping/udp_ping_node.c       \
+       ioam/udp-ping/udp_ping_util.c           \
+       ioam/udp-ping/udp_ping_export.c         \
+       ioam/udp-ping/udp_ping_api.c
+
+UDP_PING_NOINST_HDR =                              \
+       ioam/udp-ping/udp_ping_packet.h         \
+       ioam/udp-ping/udp_ping.h                    \
+       ioam/udp-ping/udp_ping_util.h           \
+       ioam/udp-ping/udp_ping_all_api_h.h      \
+       ioam/udp-ping/udp_ping_msg_enum.h       \
+       ioam/udp-ping/udp_ping.api.h
+
+UDP_PING_API = ioam/udp-ping/udp_ping.api
+
+udp_ping_test_plugin_la_SOURCES =              \
+       ioam/udp-ping/udp_ping_test.c                   \
+       ioam/udp-ping/udp_ping_plugin.api.h  
+
+vppapitestplugins_LTLIBRARIES += udp_ping_test_plugin.la
+########################################
+# iOAM plugins
+########################################
 
-vppplugins_LTLIBRARIES += ioam_e2e_plugin.la
+ioam_plugin_la_SOURCES =                   \
+        $(IOAM_POT_SRC)             \
+        $(IOAM_EXPORT_SRC)          \
+        $(IOAM_TRACE_SRC)           \
+        $(IOAM_VXLAN_GPE_SRC)          \
+        $(IOAM_E2E_SRC)                            \
+               $(IPFIX_COLLECTOR_SRC)          \
+               $(IOAM_ANALYSE_SRC)                 \
+        $(IOAM_IP6_MANYCAST_SRC)    \
+               $(UDP_PING_SRC)
+
+API_FILES +=                                       \
+        $(IOAM_POT_API)                 \
+        $(IOAM_EXPORT_API)              \
+        $(IOAM_TRACE_API)               \
+        $(IOAM_VXLAN_GPE_API)              \
+        $(IOAM_IP6_MANYCAST_API)        \
+               $(UDP_PING_API)
+
+nobase_apiinclude_HEADERS +=                               \
+        $(IOAM_POT_NOINST_HDR)                  \
+        $(IOAM_EXPORT_NOINST_HDR)               \
+        $(IOAM_TRACE_NOINST_HDR)                \
+        $(IOAM_VXLAN_GPE_NOINST_HDR)            \
+        $(IOAM_E2E_NOINST_HDR)                         \
+        $(IOAM_IP6_MANYCAST_NOINST_HDR)         \
+               $(UDP_PING_NOINST_HDR)
+
+vppplugins_LTLIBRARIES += ioam_plugin.la
 
 # vi:syntax=automake