Subject: Re: CVS commit: syssrc
To: None <itojun@iijlab.net>
From: John Hawkinson <jhawk@MIT.EDU>
List: tech-net
Date: 07/17/2000 12:56:47
In message <10500.963852374@coconut.itojun.org>, itojun@iijlab.net writes:
>	i was not clear enough, there can be couple of interpretation for
>	"invalid option", and there can be couple of possible behaviors.
>	1. length field out-of-bound (like optlen < 2, or optlen > cnt)
>		- ignore all subsequent options (as option part looks broken)
>		  and accept the segment
>		- drop the segment, or
>		- reset the connection (rfc suggests this, it seems)

OK. So that's something to change (reset the connection).

>	2. length field unexpected for known option type
>		- skip over the option and look at the next one
>		- ignore all subsequent options, and accept the segment
>		- drop the segment, or
>		- reset the connection

Debatable. I would recommend the first (skip the option), as we do now.

>	3. option unexpected for this situation (like TCPOPT_WINDOW on non-SYN)
>		- skip over the option and look at the next one
>		- ignore all subsequent options, and accept the segment
>		- drop the segment, or
>		- reset the connection

I'd recommend the current practice of skipping the option.

>	4. unknown option type
>		- ignore the option and skip to the next one, as indicated
>		  in the above RFC

As we do now.


Do you think we should do differently?

--jhawk