[nsd-users] NSD 4.10.0rc1 pre-release

Jeroen Koekkoek jeroen at nlnetlabs.nl
Thu Apr 25 14:43:48 UTC 2024


NSD 4.10.0rc1 is available:

https://nlnetlabs.nl/downloads/nsd/nsd-4.10.0rc1.tar.gz
sha256 ad476e82eee5bdabc985e071cabe6a68263dd02eac6278ce2f81798b8c08f19f
pgp https://nlnetlabs.nl/downloads/nsd/nsd-4.10.0rc1.tar.gz.asc

Version 4.10.0 integrates simdzone and drops the Flex+Bison zone
parser.

NSD used a Flex+Bison based zone parser since version 1.4.0. The parser
served NSD well, but zones have increased in size and zone loading
performance has been problematic for some users.

With the integration of simdzone
(https://github.com/NLnetLabs/simdzone),
performance of loading zones and IXFRs is drastically improved. Quick
measurements show improvements ranging anywhere from 3.8x to 1.6x,
depending on zone size and database type, though the improvements will
be less noticable for NSEC3 zones due to pre-hashing.

simdzone leverages SIMD instructions in modern CPUs to improve
throughput. Right now SSE4.2 and AVX2 instruction sets are supported,
other instruction sets will use the fallback implementation, which
still is a decent improvement over the Flex+Bison based parser.

The release candidate window will be longer this time as simdzone is
rather new and while it has been tested on various architectures and
operating systems, it is likely problems will pop-up due to sheer
amount of code. Please consider giving this release candidate a good
run and report any problems.

4.10.0
================
FEATURES:
- Merge #278: Replace Flex+Bison based zone parser with simdzone.
   Performance of loading zones and IXFRs is greatly improved by using
   the simdzone project by NLnet Labs. The optimized presentation
   format parser leverages SIMD instructions in modern CPUs to improve
   throughput. Right now SSE4.2 and AVX2 instruction sets are
   supported, other instruction sets will use the fallback
   implementation, which still is a decent improvement over the
   Flex+Bison based parser.

BUG FIXES:
- Fix that when the server truncates the pidfile, it does not follow
   symbolic links.
- Fix #317: nsd should not chown its PID file.
- For #317: Modify nsd service script to stop NSD from creating a pid
   file that systemd is not using.
- Fix #324: Clarify the purpose of contrib/bug390.patch.
- Fix IXFR requests upstream for zones with a long name. Thanks for the
   report to Yuuki Wakisaka from Internet Initiative Japan Inc.
- Unit test for dname subdomain test used by xfrd-tcp.c.
- Fix #329: TCP accept queues number.
- Fix that the reload handler for sigchild uses signal_add, and also
   that the signal handler is restored when done.
- Fix that when server verify is done it resets the sigchild handler.
- Fix makedist.sh for simdzone inclusion.
- Fix makedist.sh to remove simdzone git tracking information and
   scripting temporaries from tarball.
- Fix error output of makedist.sh.
- Use simdzone version with name parser fix.
- Bump simdzone version to fix OpenBSD build issues.

Best regards, Jeroen


More information about the nsd-users mailing list