bind9/lib/isc/netmgr
Ondřej Surý 8098a58581 Set TCP maximum segment size to minimum size of 1220
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.
2022-03-08 10:27:05 +01:00
..
http.c DoH: ensure that server_send_error_response() is used properly 2022-01-14 16:00:42 +02:00
netmgr-int.h Set TCP maximum segment size to minimum size of 1220 2022-03-08 10:27:05 +01:00
netmgr.c Set TCP maximum segment size to minimum size of 1220 2022-03-08 10:27:05 +01:00
tcp.c Set TCP maximum segment size to minimum size of 1220 2022-03-08 10:27:05 +01:00
tcpdns.c Set TCP maximum segment size to minimum size of 1220 2022-03-08 10:27:05 +01:00
timer.c Add network manager based timer API 2022-02-17 21:38:17 +01:00
tlsdns.c Set TCP maximum segment size to minimum size of 1220 2022-03-08 10:27:05 +01:00
tlsstream.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
udp.c Set minimum MTU (1280) on IPv6 sockets 2022-03-08 10:27:05 +01:00
uv-compat.c Add uv_tcp_close_reset compat 2022-02-17 09:06:58 +01:00
uv-compat.h Add uv_tcp_close_reset compat 2022-02-17 09:06:58 +01:00
uverr2result.c add UV_ENOTSUP to isc___nm_uverr2result() 2022-01-17 11:45:10 +01:00