Interface-Specific Network Options
Interface-Specific Network Options (ISNO) allows IP network interfaces to be custom-tuned for the best performance.
Values set for an individual interface take precedence over the systemwide values set with the no command. The feature is enabled (the default) or disabled for the whole system with the no command use_isno option. This single-point ISNO disable option is included as a diagnostic tool to eliminate potential tuning errors if the system administrator needs to isolate performance problems.
Programmers and performance analysts should note that the ISNO values will not show up in the socket (meaning they cannot be read by the getsockopt() system call) until after the TCP connection is made. The specific network interface that a socket actually uses is not known until the connection is complete, so the socket reflects the system defaults from the no command. After the TCP connection is accepted and the network interface is known, ISNO values are put into the socket.
The following parameters have been added for each supported network interface and are only effective for TCP (and not UDP) connections:
- rfc1323
- tcp_nodelay
- tcp_sendspace
- tcp_recvspace
- tcp_mssdflt
When set for a specific interface, these values override the corresponding no option values set for the system. These parameters are available for all of the mainstream TCP/IP interfaces (Token-Ring, FDDI, 10/100 Ethernet, and Gigabit Ethernet), except the css# IP interface on the SP switch. As a simple workaround, SP switch users can set the tuning options appropriate for the switch using the systemwide no command, then use the ISNOs to set the values needed for the other system interfaces.
These options are set for the TCP/IP interface (such as en0 or tr0), and not the network adapter (ent0 or tok0).
AIX® sets default values for the Gigabit Ethernet interfaces, for both MTU 1500 and for jumbo frame mode (MTU 9000). As long as you configure the interface through the SMIT tcpip screens, the ISNO options should be set to the default values, which provides good performance.
For 10/100 Ethernet and token ring adapters, the ISNO defaults are not set by the system as they typically work fine with the system global no defaults. However, the ISNO attributes can be set if needed to override the global defaults.
# ifconfig en0
en0: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN>
inet 10.0.0.1 netmask 0xffffff00 broadcast 192.0.0.255
tcp_sendspace 131072 tcp_recvspace 65536
# ifconfig en0
en0: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN>
inet 192.0.0.1 netmask 0xffffff00 broadcast 192.0.0.255
tcp_sendspace 262144 tcp_recvspace 131072 rfc1323 1
Interface | Speed | MTU | tcp_sendspace | tcp_recvspace | rfc1323 | tcp_nodelay | tcp_mssdflt |
---|---|---|---|---|---|---|---|
lo0 (loopback) | N/A | 16896 | 131072 | 131072 | 1 | ||
Ethernet | 10 or 100 (Mbit) | ||||||
Ethernet | 1000 (Gigabit) | 1500 | 131072 | 65536 | 1 | ||
Ethernet | 1000 (Gigabit) | 9000 | 262144 | 131072 | 1 | ||
Ethernet | 10 GigE | 1500 | 262144 | 262144 | 1 | ||
Ethernet | 10 GigE | 9000 | 262144 | 262144 | 1 | ||
Ether Channel | Configures based on speed/MTU of the underlying interfaces. | ||||||
Virtual Ethernet | N/A | any | 262144 | 262144 | 1 | ||
InfiniBand | N/A | 2044 | 131072 | 131072 | 1 |
You can set ISNO options by the following methods:
- SMIT
- The chdev command
- The ifconfig command
Using SMIT or the chdev command changes the values in the ODM database on disk so they will be permanent. The ifconfig command only changes the values in memory, so they go back to the prior values stored in ODM on the next reboot.