Skip to content

hdais/nsd-avoid-fragmentation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

avoid-fragmentation implementation for NSD

This is an implementaion of draft-ietf-dnsop-avoid-fragmentation (Fragmentation Avoidance in DNS) for NSD.

Notes

  • Currently it works on Linux only due to getsockopt(IP_MTU) dependency.
  • Avoid-fragmentation mode is enabled on IPv4/UDP sockets only, since NSD already limits maximum size of IPv6/UDP to 1280 bytes.

How to build

git clone https://github.com/hdais/nsd-avoid-fragmentation
cd nsd-avoid-fragmentation
aclocal && autoconf && autoheader
./configure
make
make install

Debugging

Some debug messages available in verbose logging mode:

server:
  verbose: 3

Debug messages examples:

nsd[9837]: notice: avoid-fragmentation mode enabled: forcing maximum IPv4/UDP message size to PMTU
nsd[9847]: info: probe_pmtu: got pmtu to 192.0.2.1 (552 bytes): updating response maxlen from 1232 to 524

original README.md follows...

NSD

Travis Build Status Cirrus Build Status Packaging status CII Best Practices

The NLnet Labs Name Server Daemon (NSD) is an authoritative DNS name server. It has been developed for operations in environments where speed, reliability, stability and security are of high importance. If you have any feedback, we would love to hear from you. Don’t hesitate to create an issue on Github or post a message on the NSD mailing list. You can learn more about NSD by reading our documentation.

Compiling

Make sure you have the following installed:

  • C toolchain (the set of tools to compile C such as a compiler, linker, and assembler)
  • OpenSSL, with its include files (usually these are included in the "dev" version of the library)
  • libevent, with its include files (usually these are included in the "dev" version of the library)
  • flex
  • bison

The repository does not contain ./configure, but you can generate it like this (note that the ./configure is included in release tarballs so they do not have to be generated):

aclocal && autoconf && autoheader

NSD can be compiled and installed using:

./configure && make && make install

NSD configuration

The configuration options for NSD are described in the man pages, which are installed (use man nsd.conf) and are available on the NSD documentation page.

An example configuration file is located in nsd.conf.sample.

About

NSD fork for draft-ietf-dnsop-avoid-fragmentation

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 79.4%
  • Shell 4.7%
  • M4 4.0%
  • Python 3.5%
  • Yacc 2.9%
  • Roff 2.8%
  • Other 2.7%