[v9_9] add contrib/perftcpdns

3805.	[contrib]	Added contrib/perftcpdns, a performance testing tool
			for DNS over TCP. [RT #35710]

(cherry picked from commit 7cd8e7915a)
This commit is contained in:
Evan Hunt 2014-04-09 15:22:10 -07:00
parent 34c6d20fe3
commit 3f5a9873e2
6 changed files with 6843 additions and 0 deletions

View file

@ -1,3 +1,6 @@
3805. [contrib] Added contrib/perftcpdns, a performance testing tool
for DNS over TCP. [RT #35710]
3804. [bug] Corrected a race condition in dispatch.c in which
portentry could be reset leading to an assertion
failure in socket_search(). (Change #3708

57
contrib/README Normal file
View file

@ -0,0 +1,57 @@
This directory contains contributed scripts, tools, libraries,
and other useful additions to BIND 9. It includes:
- scripts/
Assorted useful scripts, including 'nanny' which monitors
named and restarts it in the event of a crash, 'zone-edit'
which enables editing of a dynamic zone, and others
- queryperf/
A DNS query performance testing tool
- perftcpdns/
A performance testing tool for DNS over TCP
- dane/
mkdane.sh generates TLSA records for use with DNS-based
Authentication of Named Entities (DANE)
- dlz/modules
Dynamically linkable DLZ modules that can be configured into
named at runtime, enabling access to external data sources including
LDAP, MySQL, Berkeley DB, perl scripts, etc
- dlz/drivers
Old-style DLZ drivers that can be linked into named at compile
time. (These are no longer actively maintained and are expected
to be deprecated eventually.)
- sdb/
SDB drivers: another mechanism for accessing external data
sources
- idn/
Contains source for 'idnkit', which provides support for
Internationalized Domain Name processing.
- nslint-3.0a2
A lint-like tool for checking DNS files
- query-loc-0.4.0
A tool for retrieving location information stored in the DNS
- zkt-1.1.2
DNSSEC Zone Key Tools, an alternate method for managing keys
and signatures

View file

@ -0,0 +1,21 @@
# Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
CC = @CC@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
DEFS = @DEFS@
perftcpdns: perftcpdns.o $(LIBOBJS)
$(CC) $(CFLAGS) $(DEFS) $(LDFLAGS) perftcpdns.o $(LIBOBJS) $(LIBS) -o perftcpdns
perftcpdns.o: perftcpdns.c
$(CC) $(CFLAGS) $(DEFS) -c perftcpdns.c
clean:
rm -f *.o perftcpdns
distclean: clean
rm -f config.log
rm -f config.cache
rm -f config.status
rm -f Makefile

4225
contrib/perftcpdns/configure vendored Executable file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,61 @@
# Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
# INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
AC_INIT(perftcpdns.c)
AC_PREREQ(2.13)
AC_PROG_CC
AC_CHECK_LIB(m, sqrt)
case "$host" in
*-freebsd*)
# We don't want to set -lpthread as that break
# the ability to choose threads library at final
# link time and is not valid for all architectures.
PTHREAD=
if test "X$GCC" = "Xyes"; then
saved_cc="$CC"
CC="$CC -pthread"
AC_MSG_CHECKING(for gcc -pthread support);
AC_TRY_LINK([#include <pthread.h>],
[printf("%x\n", pthread_create);],
PTHREAD="yes"
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no))
CC="$saved_cc"
fi
if test "X$PTHREAD" != "Xyes"; then
AC_CHECK_LIB(pthread, pthread_create,,
AC_CHECK_LIB(thr, thread_create,,
AC_CHECK_LIB(c_r, pthread_create,,
AC_CHECK_LIB(c, pthread_create,,
AC_MSG_ERROR("could not find thread libraries")))))
fi
;;
*)
AC_CHECK_LIB(pthread, pthread_create,,
AC_CHECK_LIB(pthread, __pthread_create,,
AC_CHECK_LIB(pthread, __pthread_create_system,,
AC_CHECK_LIB(c_r, pthread_create,,
AC_CHECK_LIB(c, pthread_create,,
AC_MSG_ERROR("could not find thread libraries"))))))
;;
esac
AC_OUTPUT(Makefile)

File diff suppressed because it is too large Load diff