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.
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"
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.
| Name | Description | 
|---|---|
| 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 | 
| Name | Description | 
|---|---|
| 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 | 
| Name | Description | 
|---|---|
| host.get_management_interface | Returns the management interface for the specified host | 
| host.management_disable | Disable the management network interface | 
| host.management_reconfigure | Reconfigure the management network interface |