Configuring Jumbo Frames

The Logical Domains virtual switch (vsw) and virtual network (vnet) devices can
now support Ethernet frames with payload sizes larger than 1500 bytes. This
change results in these drivers being able to increase network throughput.

How to Configure Virtual Network and Virtual Switch Devices to Use Jumbo Frames

You enable jumbo frames by specifying the maximum transmission unit (MTU) for
the virtual switch device. In such cases, the virtual switch device and
all virtual network devices that are bound to the virtual switch device
use the specified MTU value.

In certain circumstances, you can specify an MTU value directly on a
virtual network device. You might do this if the required MTU value
for the virtual network device should be less than that supported by
the virtual switch.

Note - On the Oracle Solaris 10 5/09 OS, the MTU of a physical
device must be configured to match the MTU of the virtual switch.
For information about configuring particular drivers, see the man page that corresponds
to that driver in Section 7D of the Oracle Solaris reference manual.
For example, to obtain information about the Oracle Solaris 10 nxge driver,
see the nxge(7D) man page.

Determine the value of MTU that you want to use for the
virtual network.

You can specify an MTU value from 1500 to 16000 bytes. The
specified MTU must match the MTU of the physical network device that
is assigned to the virtual switch.

Specify the MTU value of a virtual switch device or virtual network
device.

Do one of the following:

Enable jumbo frames on a new virtual switch device in the service domain by specifying its MTU as a value of the mtu property.

# ldm add-vsw mtu=value vswitch-name ldom

In addition to configuring the virtual switch, this command updates the MTU value of each virtual network device that will be bound to this virtual switch.

Enable jumbo frames on an existing virtual switch device in the service domain by specifying its MTU as a value of the mtu property.

# ldm set-vsw mtu=value vswitch-name

In addition to configuring the virtual switch, this command updates the MTU value of each virtual network device that will be bound to this virtual switch.

In rare circumstances, you might need to use the ldm add-vnet or ldm set-vnet
command to specify an MTU value for a virtual network device that
differs from the MTU value of the virtual switch. For example, you
might change the virtual network device's MTU value if you configure VLANs
over a virtual network device and the largest VLAN MTU is less
than the MTU value on the virtual switch. A vnet driver that
supports jumbo frames might not be required for domains where only the
default MTU value is used. However, if the domains have virtual network
devices bound to a virtual switch that uses jumbo frames, ensure that
the vnet driver supports jumbo frames.

If you use the ldm set-vnet command to specify an mtu value on
a virtual network device, future updates to the MTU value of the
virtual switch device are not propagated to that virtual network device. To
reenable the virtual network device to obtain the MTU value from the
virtual switch device, run the following command:

# ldm set-vnet mtu= vnet-nameldom

Note that enabling jumbo frames for a virtual network device automatically enables
jumbo frames for any HybridIO resource that is assigned to that virtual
network device.

On the control domain, the Logical Domains Manager updates the MTU values
that are initiated by the ldm set-vsw and ldm set-vnet commands as delayed reconfiguration
operations. To make MTU updates to domains other than the control domain,
you must stop a domain prior to running the ldm set-vsw or ldm set-vnet
command to modify the MTU value.

The following example shows how to add a new virtual switch device that uses an MTU value of 9000. This MTU value is propagated from the virtual switch device to all of the client virtual network devices.

First, the ldm add-vsw command creates the virtual switch device, primary-vsw0, with an MTU value of 9000. Note that instance 0 of the network device nxge0 is specified as a value of the net-dev property.

# ldm add-vsw net-dev=nxge0 mtu=9000 primary-vsw0 primary

Next, the ldm add-vnet command adds a client virtual network device to this virtual switch, primary-vsw0. Note that the MTU of the virtual network device is implicitly assigned from the virtual switch to which it is bound. As a result, the ldm add-vnet command does not require that you specify a value for the mtu property.

# ldm add-vnet vnet01 primary-vsw0 ldom1

Depending on the version of the Oracle Solaris OS that is running, do the following:

Oracle Solaris 10 OS. The ifconfig command creates the virtual switch interface in the service domain, primary. The ifconfig vsw0 command output shows that the value of the mtu property is 9000.

The following example shows how to change the MTU of the interface to 4000.

Note that the MTU of an interface can only be changed to a value that is less than the MTU of the device that is assigned by the Logical Domains Manager. This method is useful when VLANs are configured, and each VLAN interface requires a different MTU.

Drivers that support jumbo frames can interoperate with drivers that do not
support jumbo frames on the same system. This interoperability is possible as
long as jumbo frame support is not enabled when you create the
virtual switch.

Note - Do not set the mtu property if any guest or service domains
that are associated with the virtual switch do not use Logical Domains
drivers that support jumbo frames.

Jumbo frames can be enabled by changing the mtu property of a
virtual switch from the default value of 1500. In this instance, older
driver versions ignore the mtu setting and continue to use the default
value. Note that the ldm list output will show the MTU value you
specified and not the default value. Any frames larger than the default
MTU are not sent to those devices and are dropped by the
new drivers. This situation might result in inconsistent network behavior with those
guests that still use the older drivers. This applies to both client
guest domains and the service domain.

So, while jumbo frames are enabled, ensure that all virtual devices in
the Logical Domains network are upgraded to use the new drivers that
support jumbo frames. You must be running at least Logical Domains 1.2
to configure jumbo frames.