Networking

Advanced settings for network interfaces

Virtual and physical network interfaces have some advanced settings that can be configured using the other-config map parameter. There is a set of custom ethtool settings and some miscellaneous settings.

ethtool settings

Developers might wish to configure custom ethtool settings for physical and virtual network interfaces. This is accomplished with ethtool-<option> keys in the other-config map parameter.

Key Description Valid settings
ethtool-rx Specify if RX checksumming is enabled on or true to enable the setting, off or false to disable it
ethtool-tx Specify if TX checksumming is enabled on or true to enable the setting, off or false to disable it
ethtool-sg Specify if scatter-gather is enabled on or true to enable the setting, off or false to disable it
ethtool-tso Specify if tcp segmentation offload is enabled on or true to enable the setting, off or false to disable it
ethtool-ufo Specify if UDP fragmentation offload is enabled on or true to enable the setting, off or false to disable it
ethtool-gso Specify if generic segmentation offload is enabled on or true to enable the setting, off or false to disable it
ethtool-autone g Specify if autonegotiation is enabled on or true to enable the setting, off or false to disable it
ethtool-speed Set the device speed in Mb/s 10, 100, or 1000
ethtool-duplex Set full or half duplex mode half or full

For example, to enable TX checksumming on a virtual NIC using the xe CLI:

xe vif-param-set uuid=<VIF UUID> other-config:ethtool-tx="on"

or:

xe vif-param-set uuid=<VIF UUID> other-config:ethtool-tx="true"

To set the duplex setting on a physical NIC to half duplex using the xe CLI:

xe vif-param-set uuid=<VIF UUID> other-config:ethtool-duplex="half"

Miscellaneous settings

You can also set a promiscuous mode on a VIF or PIF by setting the promiscuous key to on. For example, to enable promiscuous mode on a physical NIC using the xe CLI:

xe pif-param-set uuid=<PIF UUID> other-config:promiscuous="on"

or:

xe pif-param-set uuid=<PIF UUID> other-config:promiscuous="true"

The VIF and PIF objects have a MTU parameter that is read-only and provide the current setting of the maximum transmission unit for the interface. You can override the default maximum transmission unit of a physical or virtual NIC with the mtu key in the other-config map parameter. For example, to reset the MTU on a virtual NIC to use jumbo frames using the xe CLI:

xe vif-param-set uuid=<VIF UUID> other-config:mtu=9000

Note that changing the MTU of underlying interfaces is an advanced and experimental feature, and may lead to unexpected side-effects if you have varying MTUs across NICs in a single resource pool.

Related XenAPI Classes, Fields and Messages

Classes

NameDescription
network A virtual network
VIF A virtual network interface
VIF_metrics The metrics associated with a virtual network device
PIF A physical network interface (note separate VLANs are represented as several PIFs)
PIF_metrics The metrics associated with a physical network interface
Bond A Network bond that combines physical network interfaces, also known as link aggregation
VLAN A VLAN mux/demux
tunnel A tunnel for network traffic

Fields

NameDescription
VM.VIFs virtual network interfaces
host.PIFs physical network interfaces
host.address The address by which this host can be contacted from any other host in the pool
host.hostname The hostname of this host

Messages

NameDescription
host.get_management_interfaceReturns the management interface for the specified host
host.management_disableDisable the management network interface
host.management_reconfigureReconfigure the management network interface