Avoiding connectivity issues with OVERRIDEPRECEDENCE (prior to Release 5.4.0)


What is PRECEDENCE?

The second byte in an IPv4 header is the Type of Service (TOS) field and its original intent was to carry information which would provide quality of service features, such as prioritized delivery for IP datagrams. If you interpret the TOS field the way it was originally designed, then the first three bits in TOS byte contain the PRECEDENCE setting.

Problems with the PRECEDENCE setting

The Type of Service field was never widely used as originally designed and its meaning has subsequently been redefined for use by a technique called Differentiated Services (DS). This redefinition of the TOS field causes problems for the z/VM TCP/IP stack on releases of z/VM prior to 5.4.0 because one of the things it does when a packet is received is to check to make sure that the precedence setting has not changed. If the precedence setting is not what is expected, it discards the packet and resets the TCP connection. This can cause connectivity issues when packets that are destined for the z/VM TCP/IP stack are either from a source that utilize the Differentiated Services technique, or pass through a router that does the same. When the packets are tossed by the TCP/IP stack (because it thinks the precedence setting has changed), this appears to the client as though they have no connectivity. This problem has shown up most noticably with failed TELNET and FTP attempts, although other client programs have also encountered this problem.

Using OVERRIDEPRECEDENCE to eliminate the problem

There is a configuration option that tells z/VM TCP/IP to disregard the precedence setting and this option is turned on by specifying the OVERRIDEPRECEDENCE in the ASSORTEDPARMS statement of the z/VM TCP/IP configuration file (PROFILE TCPIP). Given the new use of the TOS field, it is highly recommended that OVERRIDEPRECEDENCE always be specified, and as of z/VM release 5.4.0, this setting will always be in effect and the z/VM TCP/IP stack will no longer do any checking of the precedence setting.