> RFC793 says > > Reserved: 6 bits > > Reserved for future use. Must be zero. > > > The last statement is the cause of all confusions. s/Must/Should/ would > have been better.
No; to be forward compatible, a TCP must set the bits to zero. 2481 describes the operation of those bits and augments 793, much like SACK augments it. Some TCP's have a bug where they set the bits in the SYN/ACK if they received reserved bits in the SYN, which is why ECN negotiation is asymmetric. If you want to blame routers for not implementing standards, try 791. The internet protocol is specifically limited in scope to provide the functions necessary to deliver a package of bits (an internet datagram) from a source to a destination over an interconnected system of networks. -neil