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-all mailing list