bind9/lib/isc/netmgr
Ondřej Surý 87d5c8ab7c Disable the Path MTU Discover on UDP Sockets
Instead of disabling the fragmentation on the UDP sockets, we now
disable the Path MTU Discovery by setting IP(V6)_MTU_DISCOVER socket
option to IP_PMTUDISC_OMIT on Linux and disabling IP(V6)_DONTFRAG socket
option on FreeBSD.  This option sets DF=0 in the IP header and also
ignores the Path MTU Discovery.

As additional mitigation on Linux, we recommend setting
net.ipv4.ip_no_pmtu_disc to Mode 3:

    Mode 3 is a hardend pmtu discover mode. The kernel will only accept
    fragmentation-needed errors if the underlying protocol can verify
    them besides a plain socket lookup. Current protocols for which pmtu
    events will be honored are TCP, SCTP and DCCP as they verify
    e.g. the sequence number or the association. This mode should not be
    enabled globally but is only intended to secure e.g. name servers in
    namespaces where TCP path mtu must still work but path MTU
    information of other protocols should be discarded. If enabled
    globally this mode could break other protocols.
2021-08-19 07:12:33 +02:00
..
http.c Simplify buffering code logic in http_send_outgoing() 2021-08-12 14:28:17 +03:00
netmgr-int.h Disable the Path MTU Discover on UDP Sockets 2021-08-19 07:12:33 +02:00
netmgr.c Disable the Path MTU Discover on UDP Sockets 2021-08-19 07:12:33 +02:00
tcp.c Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
tcpdns.c Replace netmgr per-protocol sequential function with a common one 2021-06-22 17:21:44 +03:00
tlsdns.c Replace netmgr per-protocol sequential function with a common one 2021-06-22 17:21:44 +03:00
tlsstream.c Optimise TLS stream for small write size (>= 512 bytes) 2021-08-12 14:28:17 +03:00
udp.c Disable the Path MTU Discover on UDP Sockets 2021-08-19 07:12:33 +02:00
uv-compat.c Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
uv-compat.h Use UV_VERSION_HEX to decide whether we need libuv shim functions 2021-05-31 14:52:05 +02:00
uverr2result.c Handle UDP send errors when sending DNS message larger than MTU 2021-06-23 17:41:34 +02:00