Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Nov 1996 17:55:15 PST
From:      Bill Fenner <fenner@parc.xerox.com>
To:        freebsd-bugs@freebsd.org, kent@lono.nosc.mil
Cc:        kobash@lono.nosc.mil, u651rc@emh.cpf.navy.mil
Subject:   Re:  Illegal options in TCP header?
Message-ID:  <96Nov2.175518pst.177476@crevenia.parc.xerox.com>

next in thread | raw e-mail | index | archive | help
>I believe that FreeBSD is inserting illegal options in the TCP header
>packets which it sends out during the session negotiation phase.
>Shown below is a sniffer trace of the packets sent out by the
>FreeBSD box to 198.22.146.10.  Notice that it sends an unknown option
>3 on the TCP header.

TCP option number 3 is defined in RFC1323 (vintage 1992; perhaps your
sniffer needs to be upgraded with newer software?).  In any case, sending
an unknown option does not necessarily make it illegal.  The host is
wrong to refuse the connection; RFC1122 (vintage 1989) says:

         4.2.2.5  TCP Options: RFC-793 Section 3.1

            A TCP MUST be able to receive a TCP option in any segment.  
            A TCP MUST ignore without error any TCP option it does not  
            implement, assuming that the option has a length field (all 
            TCP options defined in the future will have length fields). 

TCP option number 3 has a length field; meaning that 198.22.146.10 MUST
ignore it without error.

If you want to turn off the RFC1323 extensions, you can set "tcp_extensions=NO"
in /etc/sysconfig, but that's a kludge; the right solution is to get
198.22.146.10 to run an RFC-compliant TCP stack.

  Bill



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?96Nov2.175518pst.177476>