This section explains the support for jumbo frames in Avi Load Balancer.
Avi Load Balancer supports MTU greater than 1500 on the Service Engine interface. Ensure that the larger MTU is supported throughout the network.
Configuring Path MTU Discovery
PMTU discovery is supported in Service Engines. You can enable or deactivate path MTU discovery (PMTUD) for IPv4 and IPv6 under SE group using path_mtu_discovery_v4
and path_mtu_discovery_v6
knobs. By default, path_mtu_discovery_v4
is set to False and path_mtu_discovery_v6
is set to True.
| path_mtu_discovery_v4 | False | | path_mtu_discovery_v6 | True |
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.show serviceengine <> interface
andshow serviceengine <> vnicdb
should be used to check if themtu
has been updated.show serviceegine <> command
is not recommended formtu
update validations.
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 Avi 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 |
|
---|---|---|
Avi Load Balancer supported Intel NICs |
Yes |
Yes |
Avi Load Balancer supported Mellanox NICs |
Yes |
Yes |
Avi Load Balancer supported Broadcom NICs |
Yes |
Yes |
VMXNET3 interfaces |
Yes |
No |
VIRTIO interfaces |
Yes |
Yes |
Avi 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 Avi Load BalancerInstallation Guide.