configuring jumbo frames on the SUN SPARC Enterprise T5240 nxge interface

It will be worth to provide some background about jumbo frames.
The maximum transmission unit (MTU) is the size (in bytes) of the largest protocol data unit that it can pass onwards. MTU parameters usually appear in association with a communications interface (NIC, serial port, etc.). The MTU may be fixed by standards (as is the case with Ethernet) or decided at connect time (as is usually the case with point-to-point serial links).
A higher MTU brings greater efficiency because each packet carries more user data while protocol overheads, such as headers or underlying per-packet delays remain fixed, and higher efficiency means a slight improvement in bulk protocol throughput. However, large packets can occupy a slow link for some time, causing greater delays to following packets and increasing lag and minimum latency. For example, a 1500 byte packet, the largest allowed by Ethernet at the network layer (and hence most of the Internet), would tie up a 14.4k modem for about one second.
More can be read on wikipedia.
we need to change on the config file of the NIC to bring changes into effect.
/platform/sun4v/kernel/drv/nxge.conf
# To enable jumbo support for all nxge interfaces,
accept_jumbo = 1;
# To disable jumbo support for all nxge interfaces,
# accept_jumbo = 0;
Also make changes in /etc/hostname.nxge* file like below
root@river03s# cat /etc/hostname.nxge0
river03s  mtu 9000
And then reboot the system. Here are the effects:
After change:
root@river03s# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
zone river03s-z2
inet 127.0.0.1 netmask ff000000
lo0:2: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
zone river03s-z3
inet 127.0.0.1 netmask ff000000
nxge0: flags=1001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,FIXEDMTU> mtu 9000 index 2
inet xxx.xxx.xxx.xxx netmask ffffe000 broadcast 192.xxx.xx.255
ether 0:21:28:b1:f0:88
nxge1: flags=1001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,FIXEDMTU> mtu 9000 index 3
inet xxx232.142.187 netmask ffffff80 broadcast xxx.xxx.142.255
ether 0:21:28:b1:f0:89
nxge1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 9194 index 3
zone river03s-z2
inet xxx232.142.193 netmask ffffff80 broadcast xxx232.142.255
nxge1:2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 9194 index 3
zone river03s-z3
inet xxx.xxx.142.198 netmask ffffff80 broadcast xxx.xxx.142.255
root@river03s# dladm show-link
nxge0           type: non-vlan  mtu: 9194       device: nxge0
nxge1           type: non-vlan  mtu: 9194       device: nxge1
nxge2           type: non-vlan  mtu: 9194       device: nxge2
nxge3           type: non-vlan  mtu: 9194       device: nxge3
Before change:
root@river03s# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
zone river03s-z2
inet 127.0.0.1 netmask ff000000
lo0:2: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
zone river03s-z3
inet 127.0.0.1 netmask ff000000
nxge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.86.177 netmask ffffe000 broadcast 192.168.95.255
ether 0:21:28:b1:f0:88
nxge1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet xxx.xxx.142.187 netmask ffffff80 broadcast xxx.xxx.142.255
ether 0:21:28:b1:f0:89
nxge1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
zone river03s-z2
inet xxx.xxx.142.193 netmask ffffff80 broadcast xxx.xxx.142.255
nxge1:2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
zone river03s-z3
inet xxx.xxx.142.198 netmask ffffff80 broadcast xxx.xxx.142.255
root@river03s# dladm show-link
nxge0           type: non-vlan  mtu: 1500       device: nxge0
nxge1           type: non-vlan  mtu: 1500       device: nxge1
nxge2           type: non-vlan  mtu: 1500       device: nxge2
nxge3           type: non-vlan  mtu: 1500       device: nxge3

Comments

Popular posts from this blog

BMCs and the IPMI Protocol

Logical Domains Reference Manual

Understanding How ZFS Calculates Used Space