X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=plugins%2Fioam-plugin%2FMakefile.am;h=b00b088c0b187d70205e7582325538e1e6e247a0;hb=fdc62abdc113ea63dc867375bd49ef3043dcd290;hp=02c8584e354afb9633f973a062c4ad71227fc553;hpb=c9097d20606dceef8f296697a652ec198c55294a;p=vpp.git diff --git a/plugins/ioam-plugin/Makefile.am b/plugins/ioam-plugin/Makefile.am index 02c8584e354..b00b088c0b1 100644 --- a/plugins/ioam-plugin/Makefile.am +++ b/plugins/ioam-plugin/Makefile.am @@ -68,7 +68,7 @@ vppapitestplugins_LTLIBRARIES = ioam_pot_test_plugin.la vppplugins_LTLIBRARIES = ioam_pot_plugin.la ######################################## -# iOAM trace export +# iOAM trace export for IPv6 ######################################## ioam_export_plugin_la_SOURCES = \ @@ -96,10 +96,10 @@ vppplugins_LTLIBRARIES += ioam_export_plugin.la ######################################## # iOAM Trace ######################################## -ioam_trace_plugin_la_SOURCES = \ - ioam/lib-trace/trace_util.c \ +libioam_trace_plugin_la_SOURCES = \ + ioam/lib-trace/trace_util.c \ ioam/encap/ip6_ioam_trace.c \ - ioam/lib-trace/trace_util.h \ + ioam/lib-trace/trace_util.h \ ioam/lib-trace/trace_api.c BUILT_SOURCES += \ @@ -108,17 +108,66 @@ BUILT_SOURCES += \ noinst_HEADERS += \ ioam/export/ioam_export_all_api_h.h \ - 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_all_api_h.h \ + ioam/lib-trace/trace_msg_enum.h \ + ioam/lib-trace/trace.api.h \ ioam/lib-trace/trace_util.h ioam_trace_test_plugin_la_SOURCES = \ - ioam/lib-trace/trace_test.c \ + ioam/lib-trace/trace_test.c \ ioam/lib-trace/trace_plugin.api.h vppapitestplugins_LTLIBRARIES += ioam_trace_test_plugin.la -vppplugins_LTLIBRARIES += ioam_trace_plugin.la +vppplugins_LTLIBRARIES += libioam_trace_plugin.la + +######################################## +# VxLAN-GPE +######################################## +libioam_vxlan_gpe_plugin_la_SOURCES = \ + ioam/lib-vxlan-gpe/ioam_encap.c \ + ioam/lib-vxlan-gpe/ioam_decap.c \ + ioam/lib-vxlan-gpe/ioam_transit.c \ + ioam/lib-vxlan-gpe/ioam_pop.c \ + ioam/lib-vxlan-gpe/vxlan_gpe_api.c \ + ioam/lib-vxlan-gpe/vxlan_gpe_ioam_trace.c \ + ioam/lib-vxlan-gpe/vxlan_gpe_ioam.c \ + ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.c \ + ioam/export-vxlan-gpe/vxlan_gpe_node.c \ + ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h\ + ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_thread.c + +BUILT_SOURCES += \ + ioam/lib-vxlan-gpe/vxlan_gpe.api.h \ + ioam/lib-vxlan-gpe/vxlan_gpe.api.json \ + ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h \ + ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.json + +noinst_HEADERS += \ + ioam/export/ioam_export_all_api_h.h \ + ioam/lib-vxlan-gpe/vxlan_gpe_all_api_h.h \ + ioam/lib-vxlan-gpe/vxlan_gpe_msg_enum.h \ + ioam/lib-vxlan-gpe/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/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 + +ioam_vxlan_gpe_test_plugin_la_SOURCES = \ + ioam/lib-vxlan-gpe/vxlan_gpe_test.c \ + ioam/lib-vxlan-gpe/vxlan_gpe_plugin.api.h + +libioam_vxlan_gpe_plugin_la_LIBADD = libioam_trace_plugin.la + +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 \ + ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_plugin.api.h + +vppapitestplugins_LTLIBRARIES += vxlan_gpe_ioam_export_test_plugin.la ######################################## # iOAM E2E plugin @@ -145,13 +194,13 @@ install-data-hook: # Java code generation # jvpp_registry_root = ../../vpp-api/java -jvpp_registry_version = 17.01 +jvpp_registry_version = 17.04 jioam_trace_jarfile = jvpp-ioam-trace-$(PACKAGE_VERSION).jar -jvpp_package_dir = io/fd/vpp/jvpp/ioamtrace +jvpp_trace_package_dir = io/fd/vpp/jvpp/ioamtrace jvpp_root = ioam/jvpp jvpp_target_dir = target jvpp_target = $(jvpp_root)/$(jvpp_target_dir) -api_file=$(srcdir)/ioam/lib-trace/trace.api +trace_api_file=$(srcdir)/ioam/lib-trace/trace.api lib_LTLIBRARIES = libjvpp_ioamtrace.la @@ -166,31 +215,124 @@ BUILT_SOURCES += $(jvpp_root)/io_fd_vpp_jvpp_ioamtrace_JVppIoamtraceImpl.h $(jvpp_root)/io_fd_vpp_jvpp_ioamtrace_JVppIoamtraceImpl.h: ioam_trace.api.json dir=`pwd`; \ mkdir -p $(jvpp_target); \ - mkdir -p $(jvpp_root)/$(jvpp_package_dir); \ - cd $(jvpp_root)/$(jvpp_package_dir); \ + mkdir -p $(jvpp_root)/$(jvpp_trace_package_dir); \ + cd $(jvpp_root)/$(jvpp_trace_package_dir); \ mkdir -p dto future callfacade callback notification test; \ @srcdir@/$(jvpp_registry_root)/jvpp/gen/jvpp_gen.py -i $${dir}/ioam_trace.api.json --plugin_name ioamtrace; \ cd -; \ - mv -f $(jvpp_root)/$(jvpp_package_dir)/jvpp_ioamtrace_gen.h $(jvpp_root)/jvpp_ioam_trace_gen.h; \ - cp $(srcdir)/$(jvpp_root)/$(jvpp_package_dir)/test/*.java $(jvpp_root)/$(jvpp_package_dir)/test/; \ + mv -f $(jvpp_root)/$(jvpp_trace_package_dir)/jvpp_ioamtrace_gen.h $(jvpp_root)/jvpp_ioam_trace_gen.h; \ + cp $(srcdir)/$(jvpp_root)/$(jvpp_trace_package_dir)/test/*.java $(jvpp_root)/$(jvpp_trace_package_dir)/test/; \ cd $(jvpp_root); \ - $(JAVAC) -classpath .:$(jvpp_target_dir):../../$(jvpp_registry_root)/jvpp-registry-$(jvpp_registry_version).jar -d $(jvpp_target_dir) $(jvpp_package_dir)/*.java \ - $(jvpp_package_dir)/dto/*.java \ - $(jvpp_package_dir)/callback/*.java \ - $(jvpp_package_dir)/notification/*.java \ - $(jvpp_package_dir)/future/*.java \ - $(jvpp_package_dir)/callfacade/*.java \ - $(jvpp_package_dir)/test/*.java \ + $(JAVAC) -classpath .:$(jvpp_target_dir):../../$(jvpp_registry_root)/jvpp-registry-$(jvpp_registry_version).jar -d $(jvpp_target_dir) $(jvpp_trace_package_dir)/*.java \ + $(jvpp_trace_package_dir)/dto/*.java \ + $(jvpp_trace_package_dir)/callback/*.java \ + $(jvpp_trace_package_dir)/notification/*.java \ + $(jvpp_trace_package_dir)/future/*.java \ + $(jvpp_trace_package_dir)/callfacade/*.java \ + $(jvpp_trace_package_dir)/test/*.java \ || (echo "ioam trace jvpp compilation failed: $$?"; exit 1); \ $(JAVAH) -classpath .:$(jvpp_target_dir):../../$(jvpp_registry_root)/jvpp-registry-$(jvpp_registry_version).jar -d . io.fd.vpp.jvpp.ioamtrace.JVppIoamtraceImpl ; $(jioam_trace_jarfile): libjvpp_ioamtrace.la cp .libs/libjvpp_ioamtrace.so.0.0.0 $(jvpp_target); \ cd $(jvpp_target); \ - $(JAR) cfv $(JARFLAGS) ../../../$@ libjvpp_ioamtrace.so.0.0.0 $(jvpp_package_dir)/* ; cd ..; + $(JAR) cfv $(JARFLAGS) ../../../$@ libjvpp_ioamtrace.so.0.0.0 $(jvpp_trace_package_dir)/* ; cd ..; ioam_trace.api.json: @echo " jIoam_trace API"; \ - vppapigen --input $(api_file) --json ioam_trace.api.json; + vppapigen --input $(trace_api_file) --json ioam_trace.api.json; all-local: $(jioam_trace_jarfile) + + +jioam_pot_jarfile = jvpp-ioam-pot-$(PACKAGE_VERSION).jar +jvpp_pot_package_dir = io/fd/vpp/jvpp/ioampot +pot_api_file=$(srcdir)/ioam/lib-pot/pot.api + + +lib_LTLIBRARIES += libjvpp_ioampot.la +libjvpp_ioampot_la_SOURCES = ioam/lib-pot/pot.api.h ioam/lib-pot/jvpp_ioam_pot.c ioam/jvpp/io_fd_vpp_jvpp_ioam_pot_JVppIoamPotImpl.h +libjvpp_ioampot_la_LIBADD = -lvlibmemoryclient -lvlibapi -lvppinfra \ + -lpthread -lm -lrt -L$(jvpp_registry_root)/.libs -ljvpp_common +libjvpp_ioampot_la_LDFLAGS = -module +libjvpp_ioampot_la_CPPFLAGS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I../ -I$(srcdir)/../ + +BUILT_SOURCES += $(jvpp_root)/io_fd_vpp_jvpp_ioampot_JVppIoampotImpl.h + +$(jvpp_root)/io_fd_vpp_jvpp_ioampot_JVppIoampotImpl.h: ioam_pot.api.json + dir=`pwd`; \ + mkdir -p $(jvpp_target); \ + mkdir -p $(jvpp_root)/$(jvpp_pot_package_dir); \ + cd $(jvpp_root)/$(jvpp_pot_package_dir); \ + mkdir -p dto future callfacade callback notification test; \ + @srcdir@/$(jvpp_registry_root)/jvpp/gen/jvpp_gen.py -i $${dir}/ioam_pot.api.json --plugin_name ioampot; \ + cd -; \ + mv -f $(jvpp_root)/$(jvpp_pot_package_dir)/jvpp_ioampot_gen.h $(jvpp_root)/jvpp_ioam_pot_gen.h; \ + cp $(srcdir)/$(jvpp_root)/$(jvpp_pot_package_dir)/test/*.java $(jvpp_root)/$(jvpp_pot_package_dir)/test/; \ + cd $(jvpp_root); \ + $(JAVAC) -classpath .:$(jvpp_target_dir):../../$(jvpp_registry_root)/jvpp-registry-$(jvpp_registry_version).jar -d $(jvpp_target_dir) $(jvpp_pot_package_dir)/*.java \ + $(jvpp_pot_package_dir)/dto/*.java \ + $(jvpp_pot_package_dir)/callback/*.java \ + $(jvpp_pot_package_dir)/notification/*.java \ + $(jvpp_pot_package_dir)/future/*.java \ + $(jvpp_pot_package_dir)/callfacade/*.java \ + $(jvpp_pot_package_dir)/test/*.java \ + || (echo "ioam pot jvpp compilation failed: $$?"; exit 1); \ + $(JAVAH) -classpath .:$(jvpp_target_dir):../../$(jvpp_registry_root)/jvpp-registry-$(jvpp_registry_version).jar -d . io.fd.vpp.jvpp.ioampot.JVppIoampotImpl ; + +$(jioam_pot_jarfile): libjvpp_ioampot.la + cp .libs/libjvpp_ioampot.so.0.0.0 $(jvpp_target); \ + cd $(jvpp_target); \ + $(JAR) cfv $(JARFLAGS) ../../../$@ libjvpp_ioampot.so.0.0.0 $(jvpp_pot_package_dir)/* ; cd ..; + +ioam_pot.api.json: + @echo " jIoam_pot API"; \ + vppapigen --input $(pot_api_file) --json ioam_pot.api.json; + +all-local: $(jioam_pot_jarfile) + +jioam_export_jarfile = jvpp-ioam-export-$(PACKAGE_VERSION).jar +jvpp_export_package_dir = io/fd/vpp/jvpp/ioamexport +export_api_file=$(srcdir)/ioam/export/ioam_export.api + + +lib_LTLIBRARIES += libjvpp_ioamexport.la +libjvpp_ioamexport_la_SOURCES = ioam/export/export.api.h ioam/export/jvpp_ioam_export.c ioam/jvpp/io_fd_vpp_jvpp_ioam_export_JVppIoamexportImpl.h +libjvpp_ioamexport_la_LIBADD = -lvlibmemoryclient -lvlibapi -lvppinfra \ + -lpthread -lm -lrt -L$(jvpp_registry_root)/.libs -ljvpp_common +libjvpp_ioamexport_la_LDFLAGS = -module +libjvpp_ioamexport_la_CPPFLAGS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I../ -I$(srcdir)/../ + +BUILT_SOURCES += $(jvpp_root)/io_fd_vpp_jvpp_ioamexport_JVppIoamexportImpl.h + +$(jvpp_root)/io_fd_vpp_jvpp_ioamexport_JVppIoamexportImpl.h: ioam_export.api.json + dir=`pwd`; \ + mkdir -p $(jvpp_target); \ + mkdir -p $(jvpp_root)/$(jvpp_export_package_dir); \ + cd $(jvpp_root)/$(jvpp_export_package_dir); \ + mkdir -p dto future callfacade callback notification test; \ + @srcdir@/$(jvpp_registry_root)/jvpp/gen/jvpp_gen.py -i $${dir}/ioam_export.api.json --plugin_name ioamexport; \ + cd -; \ + mv -f $(jvpp_root)/$(jvpp_export_package_dir)/jvpp_ioamexport_gen.h $(jvpp_root)/jvpp_ioam_export_gen.h; \ + cp $(srcdir)/$(jvpp_root)/$(jvpp_export_package_dir)/test/*.java $(jvpp_root)/$(jvpp_export_package_dir)/test/; \ + cd $(jvpp_root); \ + $(JAVAC) -classpath .:$(jvpp_target_dir):../../$(jvpp_registry_root)/jvpp-registry-$(jvpp_registry_version).jar -d $(jvpp_target_dir) $(jvpp_export_package_dir)/*.java \ + $(jvpp_export_package_dir)/dto/*.java \ + $(jvpp_export_package_dir)/callback/*.java \ + $(jvpp_export_package_dir)/notification/*.java \ + $(jvpp_export_package_dir)/future/*.java \ + $(jvpp_export_package_dir)/callfacade/*.java \ + $(jvpp_export_package_dir)/test/*.java \ + || (echo "ioam export jvpp compilation failed: $$?"; exit 1); \ + $(JAVAH) -classpath .:$(jvpp_target_dir):../../$(jvpp_registry_root)/jvpp-registry-$(jvpp_registry_version).jar -d . io.fd.vpp.jvpp.ioamexport.JVppIoamexportImpl ; + +$(jioam_export_jarfile): libjvpp_ioamexport.la + cp .libs/libjvpp_ioamexport.so.0.0.0 $(jvpp_target); \ + cd $(jvpp_target); \ + $(JAR) cfv $(JARFLAGS) ../../../$@ libjvpp_ioamexport.so.0.0.0 $(jvpp_export_package_dir)/* ; cd ..; + +ioam_export.api.json: + @echo " jIoam_export API"; \ + vppapigen --input $(export_api_file) --json ioam_export.api.json; + +all-local: $(jioam_export_jarfile)