This section explains the support for jumbo frames in NSX Advanced Load Balancer.
NSX Advanced Load Balancer supports MTU greater than 1500 on the Service Engine interface. However, PMTU discovery is not supported. Ensure that the larger MTU is supported throughout the network.
Configuring SE MTU
You can manually configure to allow jumbo frames in the datapath using Service Engine property se_mtu
. After configuring manually, the range will be a user-configured value between 512-9000
and will not have any default value.
The global MTU is an SE property used to limit the MTU if there are some encapsulation overheads that can enlarge the packet over the original MTU. You can replace the global MTU with se_mtu
for the same purpose.
The se_mtu
always overrides global MTU if configured. For instance, if you configure se_mtu
to 9K, the system does not depend on the global MTU value. Global MTU is kept only for backward compatibility, i.e., if you configure global MTU in an earlier release and do an upgrade, then the global MTU should still take effect unless you configure se_mtu
later.
You can configure se_mtu
with jumbo size on the serviceenginegroup. This will change the MTU to the value for all the VNICs on all the SEs in the Service Engine group. If it is not set, then it will be backward compatible with global_mtu
of Service Engine properties.
You need to set all the VNIC’s MTU to the global_mtu
property if it has been configured or to VNIC’s original MTU if it is not configured.
The se_mtu
affects the MTU of the SE’s interfaces only.
Ensure that the jumbo MTU is configured on all the nodes along the data path for the end-to-end jumbo frame traffic to work. The configuration should be accurate for the results to be as expected.
Configuration Example
[admin:10-79-109-168]: > configure serviceenginegroup Default-Group [admin:10-79-109-168]: serviceenginegroup> se_mtu 9000 [admin:10-79-109-168]: serviceenginegroup> save
You can configure MTU through global_mtu
or se_mtu
, where global_mtu
can be configured through serviceengineproperties
and se_mtu
can be configured through serviceenginegroup
. The se_mtu
takes precedence in case both these fields are set.
To verify if the configuration is successfully applied, use show serviceengine <se-name> interface command and check vnic_mtu
for a specific vnic.
[admin:vmwareft-ctlr1]: > show serviceengine Avi-se-wmwph interface | egrep "vnic_name|vnic_mtu" | vnic_name | eth8 | | vnic_mtu | 9000 | | vnic_name | eth1 | | vnic_mtu | 9000 |
You cannot update the MTU using ifconfig
code in NSX Advanced Load Balancer namespace. You can only update the MTU either by using se_mtu
(SE group property) or global_mtu
(SE properties).
Jumbo Frames - Interface Families Supported
Jumbo Frame Support |
Jumbo Frame Support on VLAN Interface |
|
---|---|---|
NSX Advanced Load Balancer supported Intel NICs |
Yes |
Yes |
NSX Advanced Load Balancer supported Mellanox NICs |
Yes |
Yes |
NSX Advanced Load Balancer supported Broadcom NICs |
Yes |
Yes |
VMXNET3 interfaces |
Yes |
No |
VIRTIO interfaces |
Yes |
Yes |
NSX Advanced Load Balancer non-DPDK mode of operation |
Yes |
Yes |
KNI MTU cannot exceed 1500 even when NIC MTU is configured.
se_mtu
vsglobal_mtu
—global_mtu
is an SE property that is used to configure the interface MTU. This can be used to accommodate any encapsulation overhead that can enlarge the packet beyond the 1500 MTU.You can replace
global_mtu
withse_mtu
asse_mtu
supports the jumbo frame. These_mtu
configuration parameter/ field always overridesglobal_mtu
if configured. For instance, if you configurese_mtu
to9000
, the system does not depend on theglobal_mtu
value.
The global_mtu
is retained only for backward compatibility, that is, if you configure global_mtu
in an earlier release and do an upgrade, then global_mtu
must still take effect unless you configure se_mtu
later.
For information on the list of supported NICs, see System Requirements section in Preparing the Installation in VMware NSX Advanced Load BalancerInstallation Guide.