mirror of
https://github.com/isc-projects/bind9.git
synced 2026-07-10 00:30:57 -04:00
Previously the socket code would set the TCPv6 maximum segment size to minimum value to prevent IP fragmentation for TCP. This was not yet implemented for the network manager. Implement network manager functions to set and use minimum MTU socket option and set the TCP_MAXSEG socket option for both IPv4 and IPv6 and use those to clamp the TCP maximum segment size for TCP, TCPDNS and TLSDNS layers in the network manager to 1220 bytes, that is 1280 (IPv6 minimum link MTU) minus 40 (IPv6 fixed header) minus 20 (TCP fixed header) We already rely on a similar value for UDP to prevent IP fragmentation and it make sense to use the same value for IPv4 and IPv6 because the modern networks are required to support IPv6 packet sizes. If there's need for small TCP segment values, the MTU on the interfaces needs to be properly configured. |
||
|---|---|---|
| .. | ||
| http.c | ||
| netmgr-int.h | ||
| netmgr.c | ||
| tcp.c | ||
| tcpdns.c | ||
| timer.c | ||
| tlsdns.c | ||
| tlsstream.c | ||
| udp.c | ||
| uv-compat.c | ||
| uv-compat.h | ||
| uverr2result.c | ||