diff options
Diffstat (limited to 'plugins/rssm')
-rw-r--r-- | plugins/rssm/Makefile.am | 11 | ||||
-rw-r--r-- | plugins/rssm/Makefile.in | 51 | ||||
-rw-r--r-- | plugins/rssm/README.md | 42 | ||||
-rw-r--r-- | plugins/rssm/rssm.c | 2 |
4 files changed, 62 insertions, 44 deletions
diff --git a/plugins/rssm/Makefile.am b/plugins/rssm/Makefile.am index 08e4429..b4ddf6b 100644 --- a/plugins/rssm/Makefile.am +++ b/plugins/rssm/Makefile.am @@ -1,6 +1,5 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = $(srcdir)/hashtbl.c \ - hashtbl.c *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ @@ -10,8 +9,6 @@ AM_CFLAGS = -I$(srcdir) \ pkglib_LTLIBRARIES = rssm.la rssm_la_SOURCES = rssm.c -nodist_rssm_la_SOURCES = hashtbl.c -BUILT_SOURCES = hashtbl.c rssm_la_LDFLAGS = -module -avoid-version $(libldns_LIBS) TESTS = test1.sh test2.sh test3.sh test4.sh test5.sh EXTRA_DIST = $(TESTS) test1.gold test2.gold dnscap-rssm-rssac002.1.in \ @@ -29,12 +26,6 @@ gcov-local: done endif -hashtbl.c: $(top_srcdir)/src/hashtbl.c - cp $(top_srcdir)/src/hashtbl.c ./ - -$(srcdir)/hashtbl.c: $(top_srcdir)/src/hashtbl.c - cp $(top_srcdir)/src/hashtbl.c $(srcdir)/ - dnscap-rssm-rssac002.1: dnscap-rssm-rssac002.1.in Makefile sed -e 's,[@]PACKAGE_VERSION[@],$(PACKAGE_VERSION),g' \ -e 's,[@]PACKAGE_URL[@],$(PACKAGE_URL),g' \ diff --git a/plugins/rssm/Makefile.in b/plugins/rssm/Makefile.in index 4fe13fa..8f59932 100644 --- a/plugins/rssm/Makefile.in +++ b/plugins/rssm/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -140,8 +140,7 @@ am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" \ LTLIBRARIES = $(pkglib_LTLIBRARIES) rssm_la_LIBADD = am_rssm_la_OBJECTS = rssm.lo -nodist_rssm_la_OBJECTS = hashtbl.lo -rssm_la_OBJECTS = $(am_rssm_la_OBJECTS) $(nodist_rssm_la_OBJECTS) +rssm_la_OBJECTS = $(am_rssm_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -165,7 +164,7 @@ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/hashtbl.Plo ./$(DEPDIR)/rssm.Plo +am__depfiles_remade = ./$(DEPDIR)/rssm.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -185,7 +184,7 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = $(rssm_la_SOURCES) $(nodist_rssm_la_SOURCES) +SOURCES = $(rssm_la_SOURCES) DIST_SOURCES = $(rssm_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ @@ -213,8 +212,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -370,6 +367,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -393,7 +391,7 @@ TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ - $(top_srcdir)/test-driver + $(top_srcdir)/test-driver README.md DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -408,6 +406,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -418,6 +418,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -524,7 +525,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = $(srcdir)/hashtbl.c hashtbl.c *.gcda *.gcno *.gcov \ +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist \ test1.20161020.152301.075993 test2.out $(man1_MANS) \ test3.20181127.155200.414188 test4.*20161020.152301.075993 \ test5.20180110.112241.543825 @@ -536,8 +537,6 @@ AM_CFLAGS = -I$(srcdir) \ pkglib_LTLIBRARIES = rssm.la rssm_la_SOURCES = rssm.c -nodist_rssm_la_SOURCES = hashtbl.c -BUILT_SOURCES = hashtbl.c rssm_la_LDFLAGS = -module -avoid-version $(libldns_LIBS) TESTS = test1.sh test2.sh test3.sh test4.sh test5.sh EXTRA_DIST = $(TESTS) test1.gold test2.gold dnscap-rssm-rssac002.1.in \ @@ -545,8 +544,7 @@ EXTRA_DIST = $(TESTS) test1.gold test2.gold dnscap-rssm-rssac002.1.in \ dist_bin_SCRIPTS = dnscap-rssm-rssac002 man1_MANS = dnscap-rssm-rssac002.1 -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am +all: all-am .SUFFIXES: .SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs @@ -659,7 +657,6 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hashtbl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rssm.Plo@am__quote@ # am--include-marker $(am__depfiles_remade): @@ -899,7 +896,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -982,7 +979,6 @@ test5.sh.log: test5.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -1018,15 +1014,13 @@ distdir-am: $(DISTFILES) done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am +check: check-am all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(MANS) installdirs: for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am +install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am @@ -1060,7 +1054,6 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) @ENABLE_GCOV_FALSE@gcov-local: clean: clean-am @@ -1069,8 +1062,7 @@ clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am - -rm -f ./$(DEPDIR)/hashtbl.Plo - -rm -f ./$(DEPDIR)/rssm.Plo + -rm -f ./$(DEPDIR)/rssm.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -1120,8 +1112,7 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/hashtbl.Plo - -rm -f ./$(DEPDIR)/rssm.Plo + -rm -f ./$(DEPDIR)/rssm.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -1143,7 +1134,7 @@ uninstall-am: uninstall-dist_binSCRIPTS uninstall-man \ uninstall-man: uninstall-man1 -.MAKE: all check check-am install install-am install-strip +.MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ check-am clean clean-generic clean-libtool \ @@ -1171,12 +1162,6 @@ uninstall-man: uninstall-man1 @ENABLE_GCOV_TRUE@ gcov -o .libs -l -r -s "$(srcdir)" "$$src"; \ @ENABLE_GCOV_TRUE@ done -hashtbl.c: $(top_srcdir)/src/hashtbl.c - cp $(top_srcdir)/src/hashtbl.c ./ - -$(srcdir)/hashtbl.c: $(top_srcdir)/src/hashtbl.c - cp $(top_srcdir)/src/hashtbl.c $(srcdir)/ - dnscap-rssm-rssac002.1: dnscap-rssm-rssac002.1.in Makefile sed -e 's,[@]PACKAGE_VERSION[@],$(PACKAGE_VERSION),g' \ -e 's,[@]PACKAGE_URL[@],$(PACKAGE_URL),g' \ diff --git a/plugins/rssm/README.md b/plugins/rssm/README.md new file mode 100644 index 0000000..3c10fba --- /dev/null +++ b/plugins/rssm/README.md @@ -0,0 +1,42 @@ +# Root Server Scaling Measurement (RSSM) plugin + +This plugin collects data as described by the [RSSAC002v3 specification](https://www.icann.org/en/system/files/files/rssac-002-measurements-root-06jun16-en.pdf) +which has been created by [ICANN Root Server System Advisory Committee](https://www.icann.org/groups/rssac) (RSSAC). + +## Additions + +As the RSSAC002v3 specification states that measurements should be saved per +24 hours interval, this plugin produces additional metrics that can be used +to compile the 24 hours measurements allowing for variable time between +output generation. + +Metric `dnscap-rssm-sources` has a hash entry called `sources` which lists +IP addresses and the number of times they appeared. + +Metric `dnscap-rssm-aggregated-sources` has a hash entry called `aggregated-sources` +which lists the aggregated IPv6 addresses by a /64 net and the number of times +it has appeared. + +## Merge Tool + +The Perl script `dnscap-rssm-rssac002` is included and installed with `dnscap` +and can be used to multiple combine RSSM plugin RSSAC002v3 YAML output files +into one file. + +The script will merge and remove metric specific to this plugin and replace +others to fill in correct values for the new time period. The earliest +`start-period` found will be used for all metrics. + +**NOTE** no parsing of `start-period` is performed, it is up to the operator +to only give input files related to the same 24 hour period. + +Options: +- `--no-recompile`: Disabled the combining of metrics and the removal of + metrics specific to this plugin +- `--keep-dnscap-rssm`: Do the combining but keep the metrics specific to + this plugin +- `--sort`: Output will always start with `version:`, `service:`, + `start-period:` and `metric:`, rest of the values are not ordered by label. + This option enabled sorting of them, which is not required by the + specification but may help in debugging and testing cases. +- `--skip-unsupported`: Skip unsupported RSSAC002 version metrics diff --git a/plugins/rssm/rssm.c b/plugins/rssm/rssm.c index 91cbd93..83f1ca8 100644 --- a/plugins/rssm/rssm.c +++ b/plugins/rssm/rssm.c @@ -60,7 +60,7 @@ #include "dnscap_common.h" -#include "hashtbl.h" +#include "hashtbl.c" static logerr_t* logerr; static my_bpftimeval open_ts; |