svn commit: r212653 - head/sys/netinet
John Baldwin
jhb at freebsd.org
Wed Sep 15 16:14:48 UTC 2010
On Wednesday, September 15, 2010 10:04:45 am Andre Oppermann wrote:
> Below is the wording proposed by Lawrence:
> /*
> * The default Maximum Segment Size (MSS) to use when we do not have specific
> * knowledge (e.g. via path MTU discovery) that the destination host is prepared
> * to accept larger datagrams. The smallest allowable IP datagram MTU and
> * optionless IP/TCP header lengths are used for the calculation as per RFC879.
> * For IPv4 (RFC791): 576 - 20 - 20 = 536.
> * For IPv6 (RFC2460): 1280 - 40 - 20 = 1220.
> */
> #define TCP_MSS 536
> #define TCP6_MSS 1220
I think the existing text is fine for this comment, with one nit:
* For IPv4 the MSS is 576 - sizeof(struct tcpiphdr)
I would find it clearer if it was 'sizeof(struct ip) - sizeof(struct tcphdr)'
instead.
> * Limit the lowest MSS we accept for path MTU discovery and the TCP SYN MSS
> * option. Allowing low values of MSS can consume significant resources and be
> * used to mount a resource exhaustion attack. Connections requesting lower MSS
> * values will be rounded up to this value and the IP_DF flag will be cleared to
> * allow fragmentation along the path.
> *
> * See tcp_subr.c tcp_minmss SYSCTL declaration for more comments. Setting this
> * SYSCTL to "0" disables the minmss check.
> *
> * The default value is fine for TCP over IPv4 across the Internet's smallest
> * known link MTU (256 bytes for AX.25 packet radio). However, a connection is
> * very unlikely to come across such low MTU interfaces (anno domini 2003).
> */
> #define TCP_MINMSS 216
I actually prefer the above text for this block. The 'amounts of resources'
phrase is certainly redundant and just 'resources' is clearer.
--
John Baldwin
More information about the svn-src-head
mailing list