From 9f1cc32c10d411d2e5707283b1d41c52c0a51a1f Mon Sep 17 00:00:00 2001 From: Daniel Salzman <daniel.salzman@nic.cz> Date: Sun, 31 May 2020 09:38:50 +0200 Subject: [PATCH] xdp-gun: rename to knot-xdp-gun --- .gitignore | 2 +- Knot.files | 6 ++-- distro/deb/knot-dnsutils.install | 4 +-- distro/deb/rules | 8 ++++-- distro/rpm/knot.spec | 4 +-- doc/.gitignore | 2 +- doc/Makefile.am | 8 +++--- doc/conf.py | 2 +- doc/man/{xdp-gun.8in => knot-xdp-gun.8in} | 14 +++++----- doc/{man_xdp-gun.rst => man_knot-xdp-gun.rst} | 14 +++++----- doc/utilities.rst | 2 +- src/utils/Makefile.inc | 23 ++++++++------- .../{xdp-gun => knot-xdp-gun}/load_queries.c | 0 .../{xdp-gun => knot-xdp-gun}/load_queries.h | 0 src/utils/{xdp-gun => knot-xdp-gun}/main.c | 28 +++++++++---------- 15 files changed, 61 insertions(+), 56 deletions(-) rename doc/man/{xdp-gun.8in => knot-xdp-gun.8in} (89%) rename doc/{man_xdp-gun.rst => man_knot-xdp-gun.rst} (86%) rename src/utils/{xdp-gun => knot-xdp-gun}/load_queries.c (100%) rename src/utils/{xdp-gun => knot-xdp-gun}/load_queries.h (100%) rename src/utils/{xdp-gun => knot-xdp-gun}/main.c (96%) diff --git a/.gitignore b/.gitignore index 545926a614..60d510b52f 100644 --- a/.gitignore +++ b/.gitignore @@ -74,7 +74,7 @@ src/libknot/libknot.h /src/knsec3hash /src/knsupdate /src/kzonecheck -/src/xdp-gun +/src/knot-xdp-gun # Generated tarballs /knot-*.tar.xz diff --git a/Knot.files b/Knot.files index c7cbeeb346..fb7f10aa32 100644 --- a/Knot.files +++ b/Knot.files @@ -480,9 +480,9 @@ src/utils/knsupdate/knsupdate_params.h src/utils/kzonecheck/main.c src/utils/kzonecheck/zone_check.c src/utils/kzonecheck/zone_check.h -src/utils/xdp-gun/load_queries.c -src/utils/xdp-gun/load_queries.h -src/utils/xdp-gun/main.c +src/utils/knot-xdp-gun/load_queries.c +src/utils/knot-xdp-gun/load_queries.h +src/utils/knot-xdp-gun/main.c tests-fuzz/fuzz_dname_from_str.c tests-fuzz/fuzz_dname_to_str.c tests-fuzz/fuzz_packet.c diff --git a/distro/deb/knot-dnsutils.install b/distro/deb/knot-dnsutils.install index e673039afc..b8e09c58d6 100644 --- a/distro/deb/knot-dnsutils.install +++ b/distro/deb/knot-dnsutils.install @@ -1,6 +1,6 @@ usr/bin/kdig usr/bin/knsupdate -usr/bin/xdp-gun +usr/sbin/knot-xdp-gun usr/share/man/man1/kdig.1 usr/share/man/man1/knsupdate.1 -usr/share/man/man8/xdp-gun.1 +usr/share/man/man8/knot-xdp-gun.8 diff --git a/distro/deb/rules b/distro/deb/rules index b50650f23a..6da22f0480 100755 --- a/distro/deb/rules +++ b/distro/deb/rules @@ -66,15 +66,17 @@ override_dh_auto_install-arch: # rename knot.sample.conf to knot.conf mv $(CURDIR)/debian/tmp/etc/knot/knot.sample.conf $(CURDIR)/debian/tmp/etc/knot/knot.conf # Some workarounds for Debian Stretch and Ubuntu Xenial - @if [ -f "$(CURDIR)/debian/tmp/usr/bin/xdp-gun" ]; then \ + @if [ -f "$(CURDIR)/debian/tmp/usr/sbin/knot-xdp-gun" ]; then \ echo "Embedded XDP enabled"; \ elif [ -f "$(LIBKNOT_SYMBOLS)" ]; then \ echo "No XDP"; \ - printf '#!/bin/sh\n\necho "xdp-gun not available"\n' > $(CURDIR)/debian/tmp/usr/bin/xdp-gun; \ + touch $(CURDIR)/debian/tmp/usr/share/man/man8/knot-xdp-gun.8; \ + printf '#!/bin/sh\n\necho "knot-xdp-gun not available"\n' > $(CURDIR)/debian/tmp/usr/sbin/knot-xdp-gun; \ sed -i -E '/knot_xdp_|knot_eth_/d' $(LIBKNOT_SYMBOLS); \ else \ echo "No XDP, no libknot symbols"; \ - printf '#!/bin/sh\n\necho "xdp-gun not available"\n' > $(CURDIR)/debian/tmp/usr/bin/xdp-gun; \ + touch $(CURDIR)/debian/tmp/usr/share/man/man8/knot-xdp-gun.8; \ + printf '#!/bin/sh\n\necho "knot-xdp-gun not available"\n' > $(CURDIR)/debian/tmp/usr/sbin/knot-xdp-gun; \ fi override_dh_auto_install-indep: diff --git a/distro/rpm/knot.spec b/distro/rpm/knot.spec index 7751362bd1..e82f6e264b 100644 --- a/distro/rpm/knot.spec +++ b/distro/rpm/knot.spec @@ -246,8 +246,8 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %{_bindir}/knsec3hash %{_bindir}/knsupdate %if 0%{?rhel} >= 8 || 0%{?suse_version} || 0%{?fedora} >= 31 -%{_sbindir}/xdp-gun -%{_mandir}/man8/xdp-gun.* +%{_sbindir}/knot-xdp-gun +%{_mandir}/man8/knot-xdp-gun.* %endif %{_mandir}/man1/kdig.* %{_mandir}/man1/khost.* diff --git a/doc/.gitignore b/doc/.gitignore index fa7777e3da..18b90cf057 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -15,4 +15,4 @@ /man/knsec3hash.1 /man/knsupdate.1 /man/kzonecheck.1 -/man/xdp-gun.8 +/man/knot-xdp-gun.8 diff --git a/doc/Makefile.am b/doc/Makefile.am index 3f09426c06..dd4dc9abf4 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -9,7 +9,7 @@ MANPAGES_IN = \ man/knsupdate.1in \ man/knsec3hash.1in \ man/kzonecheck.1in \ - man/xdp-gun.8in + man/knot-xdp-gun.8in MANPAGES_RST = \ man_knotc.rst \ @@ -21,7 +21,7 @@ MANPAGES_RST = \ man_knsupdate.rst \ man_knsec3hash.rst \ man_kzonecheck.rst \ - man_xdp-gun.rst + man_knot-xdp-gun.rst EXTRA_DIST = \ conf.py \ @@ -104,7 +104,7 @@ man_MANS += \ man/knsec3hash.1 if ENABLE_XDP -man_MANS += man/xdp-gun.8 +man_MANS += man/knot-xdp-gun.8 endif # ENABLE_XDP endif # HAVE_UTILS @@ -118,7 +118,7 @@ man/khost.1: man/khost.1in man/knsupdate.1: man/knsupdate.1in man/knsec3hash.1: man/knsec3hash.1in man/kzonecheck.1: man/kzonecheck.1in -man/xdp-gun.8: man/xdp-gun.8in +man/knot-xdp-gun.8: man/knot-xdp-gun.8in man_SUBST = $(AM_V_GEN)mkdir -p man; \ sed -e 's,[@]VERSION@,$(VERSION),' \ diff --git a/doc/conf.py b/doc/conf.py index c776cb5f8e..f6a3c9d859 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -233,7 +233,7 @@ man_pages = [ ('man_knsec3hash', 'knsec3hash', 'Simple utility to compute NSEC3 hash', author, 1), ('man_knsupdate', 'knsupdate', 'Dynamic DNS update utility', author, 1), ('man_kzonecheck', 'kzonecheck', 'Knot DNS zone check tool', author, 1), - ('man_xdp-gun', 'xdp-gun', 'XDP-powered DNS benchmarking tool', author, 8), + ('man_knot-xdp-gun', 'knot-xdp-gun', 'XDP-powered DNS benchmarking tool', author, 8), ] # If true, show URL addresses after external links. diff --git a/doc/man/xdp-gun.8in b/doc/man/knot-xdp-gun.8in similarity index 89% rename from doc/man/xdp-gun.8in rename to doc/man/knot-xdp-gun.8in index 762f447f78..0090bc4545 100644 --- a/doc/man/xdp-gun.8in +++ b/doc/man/knot-xdp-gun.8in @@ -1,8 +1,8 @@ .\" Man page generated from reStructuredText. . -.TH "XDP-GUN" "8" "@RELEASE_DATE@" "@VERSION@" "Knot DNS" +.TH "KNOT-XDP-GUN" "8" "@RELEASE_DATE@" "@VERSION@" "Knot DNS" .SH NAME -xdp-gun \- XDP-powered DNS benchmarking tool +knot-xdp-gun \- XDP-powered DNS benchmarking tool . .nr rst2man-indent-level 0 . @@ -32,7 +32,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .. .SH SYNOPSIS .sp -\fBxdp\-gun\fP [\fIoptions\fP] \fB\-i\fP \fIfilename\fP \fItargetIP\fP +\fBknot\-xdp\-gun\fP [\fIoptions\fP] \fB\-i\fP \fIfilename\fP \fItargetIP\fP .SH DESCRIPTION .sp Powerful generator of DNS traffic, sending and receving packets through XDP. @@ -94,7 +94,7 @@ Exit status of 0 means successful operation. Any other exit status indicates an error. .SH EXAMPLES .sp -Queries file example: +Queries file: .INDENT 0.0 .INDENT 3.5 .sp @@ -111,13 +111,13 @@ abcd.example.com. DS D .UNINDENT .UNINDENT .sp -xdp\-gun examples: +Program usage: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -# xdp\-gun \-i ~/queries.txt 2001:1489:fffe:10::16 +# knot\-xdp\-gun \-i ~/queries.txt 2001:1489:fffe:10::16 .ft P .fi .UNINDENT @@ -127,7 +127,7 @@ xdp\-gun examples: .sp .nf .ft C -# xdp\-gun \-t 120 \-Q 6000000 \-i ~/queries.txt \-b 5 \-r \-p 8853 192.168.101.2 +# knot\-xdp\-gun \-t 120 \-Q 6000000 \-i ~/queries.txt \-b 5 \-r \-p 8853 192.168.101.2 .ft P .fi .UNINDENT diff --git a/doc/man_xdp-gun.rst b/doc/man_knot-xdp-gun.rst similarity index 86% rename from doc/man_xdp-gun.rst rename to doc/man_knot-xdp-gun.rst index 82c22ef15d..b53869fc30 100644 --- a/doc/man_xdp-gun.rst +++ b/doc/man_knot-xdp-gun.rst @@ -1,12 +1,12 @@ .. highlight:: console -xdp-gun – DNS benchmarking tool -=============================== +knot-xdp-gun – DNS benchmarking tool +==================================== Synopsis -------- -:program:`xdp-gun` [*options*] **-i** *filename* *targetIP* +:program:`knot-xdp-gun` [*options*] **-i** *filename* *targetIP* Description ----------- @@ -76,7 +76,7 @@ an error. Examples -------- -Queries file example:: +Queries file:: abc6.example.com. AAAA nxdomain.example.com. A @@ -85,13 +85,13 @@ Queries file example:: ab.example.com. A D abcd.example.com. DS D -xdp-gun examples:: +Program usage:: - # xdp-gun -i ~/queries.txt 2001:1489:fffe:10::16 + # knot-xdp-gun -i ~/queries.txt 2001:1489:fffe:10::16 :: - # xdp-gun -t 120 -Q 6000000 -i ~/queries.txt -b 5 -r -p 8853 192.168.101.2 + # knot-xdp-gun -t 120 -Q 6000000 -i ~/queries.txt -b 5 -r -p 8853 192.168.101.2 See Also -------- diff --git a/doc/utilities.rst b/doc/utilities.rst index 2cd34e36ad..3baf85c469 100644 --- a/doc/utilities.rst +++ b/doc/utilities.rst @@ -19,4 +19,4 @@ the server. This section collects manual pages for all provided binaries: man_knsec3hash man_knsupdate man_kzonecheck - man_xdp-gun + man_knot-xdp-gun diff --git a/src/utils/Makefile.inc b/src/utils/Makefile.inc index 2f51ce5ca0..33c4caf1c3 100644 --- a/src/utils/Makefile.inc +++ b/src/utils/Makefile.inc @@ -1,3 +1,6 @@ +bin_PROGRAMS = +sbin_PROGRAMS = + if HAVE_LIBUTILS noinst_LTLIBRARIES += libknotus.la @@ -33,7 +36,7 @@ libknotus_la_SOURCES = \ endif HAVE_LIBUTILS if HAVE_UTILS -bin_PROGRAMS = kdig khost knsec3hash knsupdate +bin_PROGRAMS += kdig khost knsec3hash knsupdate kdig_SOURCES = \ utils/kdig/kdig_exec.c \ @@ -78,14 +81,14 @@ khost_LDADD += $(DNSTAP_LIBS) libdnstap.la endif HAVE_DNSTAP if ENABLE_XDP -bin_PROGRAMS += xdp-gun -xdp_gun_SOURCES = \ - utils/xdp-gun/load_queries.c \ - utils/xdp-gun/load_queries.h \ - utils/xdp-gun/main.c - -xdp_gun_CPPFLAGS = $(AM_CPPFLAGS) -xdp_gun_LDADD = libcontrib.la libknot.la $(pthread_LIBS) +sbin_PROGRAMS += knot-xdp-gun +knot_xdp_gun_SOURCES = \ + utils/knot-xdp-gun/load_queries.c \ + utils/knot-xdp-gun/load_queries.h \ + utils/knot-xdp-gun/main.c + +knot_xdp_gun_CPPFLAGS = $(AM_CPPFLAGS) +knot_xdp_gun_LDADD = libcontrib.la libknot.la $(pthread_LIBS) endif ENABLE_XDP endif HAVE_UTILS @@ -96,7 +99,7 @@ install-data-hook: $(INSTALL) -d $(DESTDIR)/@run_dir@ $(INSTALL) -d $(DESTDIR)/@storage_dir@ -sbin_PROGRAMS = knotc knotd +sbin_PROGRAMS += knotc knotd knotc_SOURCES = \ utils/knotc/commands.c \ diff --git a/src/utils/xdp-gun/load_queries.c b/src/utils/knot-xdp-gun/load_queries.c similarity index 100% rename from src/utils/xdp-gun/load_queries.c rename to src/utils/knot-xdp-gun/load_queries.c diff --git a/src/utils/xdp-gun/load_queries.h b/src/utils/knot-xdp-gun/load_queries.h similarity index 100% rename from src/utils/xdp-gun/load_queries.h rename to src/utils/knot-xdp-gun/load_queries.h diff --git a/src/utils/xdp-gun/main.c b/src/utils/knot-xdp-gun/main.c similarity index 96% rename from src/utils/xdp-gun/main.c rename to src/utils/knot-xdp-gun/main.c index 0ddaec05ec..9797e0bbcc 100644 --- a/src/utils/xdp-gun/main.c +++ b/src/utils/knot-xdp-gun/main.c @@ -41,9 +41,9 @@ #include "load_queries.h" -#define PROGRAM_NAME "xdp-gun" +#define PROGRAM_NAME "knot-xdp-gun" -volatile bool dns_xdp_trigger = false; +volatile bool xdp_trigger = false; pthread_mutex_t global_mutex; uint64_t global_pkts_sent = 0; @@ -64,9 +64,9 @@ typedef struct { uint16_t target_port; uint32_t listen_port; // KNOT_XDP_LISTEN_PORT_ALL, KNOT_XDP_LISTEN_PORT_DROP unsigned n_threads, thread_id; -} dns_xdp_gun_ctx_t; +} xdp_gun_ctx_t; -const static dns_xdp_gun_ctx_t ctx_defaults = { +const static xdp_gun_ctx_t ctx_defaults = { .qps = 1000, .duration = 5000000UL, // usecs .at_once = 10, @@ -124,7 +124,7 @@ static void next_payload(struct pkt_payload **payload, int increment) } static int alloc_pkts(knot_xdp_msg_t *pkts, int npkts, struct knot_xdp_socket *xsk, - dns_xdp_gun_ctx_t *ctx, uint64_t tick, struct pkt_payload **payl) + xdp_gun_ctx_t *ctx, uint64_t tick, struct pkt_payload **payl) { uint64_t unique = (tick * ctx->n_threads + ctx->thread_id) * ctx->at_once; @@ -157,9 +157,9 @@ static int alloc_pkts(knot_xdp_msg_t *pkts, int npkts, struct knot_xdp_socket *x return KNOT_EOK; } -void *dns_xdp_gun_thread(void *_ctx) +void *xdp_gun_thread(void *_ctx) { - dns_xdp_gun_ctx_t *ctx = _ctx; + xdp_gun_ctx_t *ctx = _ctx; struct knot_xdp_socket *xsk; struct timespec timer; knot_xdp_msg_t pkts[ctx->at_once]; @@ -176,7 +176,7 @@ void *dns_xdp_gun_thread(void *_ctx) struct pollfd pfd = { knot_xdp_socket_fd(xsk), POLLIN, 0 }; - while (!dns_xdp_trigger) { + while (!xdp_trigger) { usleep(1000); } @@ -426,7 +426,7 @@ static int remoteIP2local(const char *ip_str, bool ipv6, char devname[], void *l return ret; } -static bool configure_target(char *target_str, dns_xdp_gun_ctx_t *ctx) +static bool configure_target(char *target_str, xdp_gun_ctx_t *ctx) { char *at = strrchr(target_str, '@'); int newport; @@ -497,7 +497,7 @@ static void print_help(void) { "-i queries_file dest_ip\n", PROGRAM_NAME); } -static bool get_opts(int argc, char *argv[], dns_xdp_gun_ctx_t *ctx) +static bool get_opts(int argc, char *argv[], xdp_gun_ctx_t *ctx) { struct option opts[] = { { "help", no_argument, NULL, 'h' }, @@ -585,7 +585,7 @@ static bool get_opts(int argc, char *argv[], dns_xdp_gun_ctx_t *ctx) int main(int argc, char *argv[]) { - dns_xdp_gun_ctx_t ctx = ctx_defaults, *thread_ctxs = NULL; + xdp_gun_ctx_t ctx = ctx_defaults, *thread_ctxs = NULL; pthread_t *threads = NULL; if (!get_opts(argc, argv, &ctx)) { @@ -620,13 +620,13 @@ int main(int argc, char *argv[]) pthread_mutex_init(&global_mutex, NULL); for (size_t i = 0; i < ctx.n_threads; i++) { - pthread_create(&threads[i], NULL, dns_xdp_gun_thread, &thread_ctxs[i]); + pthread_create(&threads[i], NULL, xdp_gun_thread, &thread_ctxs[i]); usleep((i + 1) * 10000); } - dns_xdp_trigger = true; + xdp_trigger = true; usleep(1000000); - dns_xdp_trigger = false; + xdp_trigger = false; for (size_t i = 0; i < ctx.n_threads; i++) { pthread_join(threads[i], NULL); -- GitLab