Using the tcp_mssdflt option of the no command

The tcp_mssdflt option is used to set the maximum packet size for communication with remote networks.

The global tcp_mssdflt option of the no command applies to all networks. However, for network interfaces that support the ISNO options, you can set the tcp_mssdflt option on each of those interfaces. This value overrides the global no command value for routes using the network.

The tcp_mssdflt option is the TCP MSS size, which represents the TCP data size. To compute this MSS size, take the desired network MTU size and subtract 40 bytes from it (20 for IP and 20 for TCP headers). There is no need to adjust for other protocol options as TCP handles this adjustment if other options, like the rfc1323 option are used.

In an environment with a larger-than-default MTU, this method has the advantage in that the MSS does not need to be set on a per-network basis. The disadvantages are as follows:

  • Increasing the default can lead to IP router fragmentation if the destination is on a network that is truly remote and the MTUs of the intervening networks are not known.
  • The tcp_mssdflt option must be set to the same value on the destination host.
Note: Beginning with AIX®, you can only use the tcp_mssdflt option if the tcp_pmtu_discover option is set to 0.