, ,

Where Do You Actually Set MTU in VCF 9? A Plain-English Guide to Jumbo Frames

A non-technical VCF 9 deployment question answered: where exactly do you configure MTU (physical switches, VDS, VMkernel, NSX TEP, gateway, guest VM), which values to use, and how to test it. With diagrams and tables.

During a recent VCF 9 deployment workshop, I told the customer they needed specific MTU settings. He was not from a networking background, so he asked a very fair question: “Okay, but where exactly do we configure this MTU? On the physical switch? On the VDS? Everywhere?” That is one of the most common questions I hear, so this post answers it in plain language, with diagrams and tables, and then adds the technical detail for the admins who configure it.

TL;DR

  • MTU is the biggest packet size a network link will carry. NSX overlay traffic needs bigger packets, so VCF needs a bigger MTU than the old default of 1500.
  • The golden rule: every hop along the path must support the same (or larger) MTU. One device set too small silently drops the big packets.
  • Minimum to deploy VCF: 1600. Recommended minimum: 1700. Best for performance: 9000 (jumbo frames) end to end.
  • Where you set it: physical switches and routers, the vSphere Distributed Switch (VDS), VMkernel adapters, the NSX TEP / Global Fabric Settings, the NSX Uplink Profile, and (optionally) the guest VM.
  • Who owns what: the physical switches are the network team’s job; the VDS, VMkernel and NSX values are the VMware admin’s job. They must agree on the number.

1. What is MTU, in plain English Basics

Explain it simply: MTU (Maximum Transmission Unit) is the biggest “parcel” of data a network link will carry in one go. Think of it like the maximum truck size allowed through a tunnel. The standard tunnel fits a 1500-size truck. “Jumbo frames” means widening the tunnel so a much bigger 9000-size truck can pass, which moves the same cargo in fewer trips and is faster.
Standard frame (MTU 1500) the tunnel 1500 1500 1500 many small trips Jumbo frame (MTU 9000) 9000 more cargo, fewer trips, faster

Figure 1: MTU is the maximum packet size a link will carry. Jumbo frames (9000) move data more efficiently than the default 1500.

2. Why VCF and NSX Need a Bigger MTU Overlay

Explain it simply: In VCF, NSX builds virtual networks on top of your real network using a technique called overlay (the protocol is Geneve). To do this, it wraps every packet in an extra envelope, which adds roughly 100 bytes. If your original packet was already 1500 (a full truck), adding the envelope makes it too big for the standard tunnel, so it gets dropped. That is why the network must allow at least 1600 bytes, and ideally more.
NSX wraps your packet in an overlay envelope Your original data packet (up to 1500) Geneve+ ~100 bytes Total now needs about 1600 bytes of room. The pipe must be at least this wide. VMware recommends 1700 to leave headroom, or 9000 for best performance.

Figure 2: The overlay header is why the old 1500 default is not enough for NSX in VCF.
Technical layer: The Geneve encapsulation used by NSX adds overhead on top of the inner Ethernet frame. The minimum required MTU to deploy VCF is 1600 bytes for the host Tunnel Endpoint (TEP) traffic. VMware recommends a minimum of 1700 bytes to future-proof for an expanding Geneve header, and 9000 bytes (jumbo frames) for optimal throughput, provided the physical underlay also supports and is set to 9000.

3. The Golden Rule: Every Hop Must Match Critical

This is the single most important idea, and the answer to the customer’s question. MTU is not set in one place. A packet travels through many devices, and every device along the path must support the chosen MTU. If even one link is set smaller, the big packets are dropped there, and you get strange, hard-to-diagnose failures (vSAN errors, vMotion failures, NSX tunnels down) while small pings still work fine.

One packet, many hops – all must agree on MTU Guest VM1500 VMkernel+ VDS9000 Host NIC9000 Physical switch9000 Router / spine9000 Physical switch9000 Dest host+ VM9000 If ANY one of these is set lower than the rest, the large packets are dropped right there.

Figure 3: MTU must be consistent across the entire path. The weakest link decides the outcome.
Rule of thumb: the physical underlay (switches and routers) should be set to the highest value, equal to or greater than what the VDS and NSX use. Inside NSX, the gateway interface MTU should be at least 200 bytes lower than the fabric MTU.

4. Where Exactly Do You Configure MTU? The answer

Here is the direct answer to “where all do we need to set this?” Read it as a checklist. Each row is one place MTU lives, what it means in plain terms, the value to use, and who normally owns it.

Where (the layer) What it is, simply Recommended MTU Who configures it
Physical switches and routers (the underlay) The real network gear your hosts plug into, including any router or spine between racks. 9000 (set highest) Network / customer team
LACP / port-channel (if used) Bonded physical switch ports. 9000 Network team
vSphere Distributed Switch (VDS) The shared virtual switch all hosts in the cluster use. 9000 VMware admin (in vCenter)
VMkernel adapters (vMotion, vSAN, etc.) The host’s own interfaces for services like live migration and storage. 9000 for vSAN and vMotion VMware admin
NSX TEP / Global Fabric Settings (Global Tunnel Endpoint MTU) The MTU for NSX overlay tunnels between hosts. This is the main NSX value. 1700 default, 9000 optimal NSX / VMware admin
NSX Uplink Profile MTU Per-profile overlay MTU (used with N-VDS host switches). Match the TEP value NSX admin
NSX Gateway interface MTU (Global Logical Interface / Tier-0) MTU on the router uplinks leaving NSX toward the physical network. 1500 default; keep at least 200 below fabric NSX admin
Guest VM (OS inside the VM) The MTU set inside Windows or Linux running in the VM. 1500 (up to 8800 only if fabric is 9000) Application / VM owner
Technical layer: When you set the VDS MTU in vCenter, NSX uses that value for transport nodes on a vSphere VDS, and the MTU set on the attached uplink profile is ignored. The Global Tunnel Endpoint MTU (System > Settings > Fabric Settings) applies to N-VDS based transport nodes. The Global Logical Interface MTU (Networking > Global Networking Config) drives logical router interfaces, and a specific uplink can override it.

5. Which Value Should I Use? Cheat sheet

Value Meaning When to use
1600 The absolute minimum to deploy VCF (covers the overlay header). Bare minimum only; not recommended long term.
1700 Recommended minimum. Adds headroom for future header growth. When the physical network cannot do jumbo frames.
9000 Jumbo frames. Best throughput for vSAN, vMotion and overlay. Recommended whenever the physical underlay supports 9000.
1500 The classic default, used inside guest VMs. Leave guest VMs at 1500 unless you have a specific need.
Key constraint: the fabric MTU (TEP / VDS / Uplink Profile) must be at least 200 bytes higher than the guest VM or gateway MTU. So if the fabric is 9000, a guest can go up to about 8800; if the fabric is 1700, leave guests at 1500.

6. The Full Picture, Layer by Layer Map

Top to bottom: where MTU is set in a VCF 9 stack Guest VM OS1500 NSX Gateway (Tier-0) interface1500 NSX TEP / Uplink Profile (overlay)1700-9000 VMkernel (vSAN, vMotion)9000 vSphere Distributed Switch (VDS)9000 Physical switches and routersthe underlay – must be highest9000 VM owner NSX admin VMware admin Network team

Figure 4: The same MTU intent has to be applied at several layers, owned by different teams.

7. Where to Click: A Quick Configuration Map How-to

Setting Where to find it
VDS MTU vCenter > Networking > select the Distributed Switch > Edit Settings > Advanced > MTU
VMkernel MTU vCenter > Host > Configure > VMkernel adapters > edit adapter > MTU (or it follows the VDS)
NSX Global TEP MTU NSX Manager > System > Settings > Fabric Settings > Global Fabric Settings (default 1700)
NSX Uplink Profile MTU NSX Manager > System > Fabric > Profiles > Uplink Profiles
NSX Gateway interface MTU NSX Manager > Networking > Global Networking Config (or the Tier-0 uplink interface)
Physical switch MTU On the switch itself, by the network team (per port or global, plus any L3 interfaces)
For non-technical readers: you do not have to do all of this yourself. The practical takeaway is: confirm the network team has set the physical switches to 9000, and make sure your VMware/NSX admin sets the VDS and NSX overlay to match. The two sides simply need to agree on the same number.

8. How to Test That It Actually Works Verify

Never assume MTU is correct because the config looks right. Test it with a “do not fragment” ping from an ESX host. If a big packet gets through without being broken up, the whole path supports that size.

From an ESXi host (SSH):
For a 9000 MTU path, send a 8972-byte payload (9000 minus 28 bytes of IP and ICMP overhead) with the do-not-fragment flag:

vmkping -I vmk0 -d -s 8972 <destination_ip>

For a 1600 MTU path, test with -s 1572. If the ping succeeds, the path supports jumbo frames. If it fails or times out while a normal ping works, one hop is set too small.

9. Common Mistakes That Cause Outages Avoid

Mistake What you see Fix
VDS set to 9000 but physical switch still 1500 vSAN errors, vMotion fails, NSX tunnels down, but small pings work Set physical switches to 9000 first
Forgetting the router or spine between racks Works within a rack, breaks across racks (L3) Set MTU on the L3 interfaces too
Guest VM set to 9000 on a 1600 fabric Large file transfers stall; small traffic fine Keep guests 200+ bytes below fabric
Only configuring one side of a link Intermittent, one-directional drops Both switch ports must match
Assuming config equals working Surprise failures under load Always verify with vmkping -d -s

10. FAQ

Do I really need jumbo frames (9000), or is 1600 enough?

1600 is the minimum just to deploy VCF. It works, but you lose performance. For production, especially with vSAN and vMotion, 9000 is strongly recommended when your physical network supports it. If it cannot, use 1700 as a safe minimum.

What actually happens if the MTU does not match across devices?

The device with the smaller MTU receives a packet that is too big and simply drops it (when the do-not-fragment bit is set, which overlay traffic uses). Small packets still pass, so basic pings succeed while real workloads fail. This is why MTU issues are so confusing to troubleshoot.

Why does VMware say 1700 instead of exactly 1600?

1600 just barely covers today’s overlay header. 1700 adds headroom so future increases in the Geneve header will not break you. It costs nothing extra to use 1700, so it is the safer default.

Does the management network also need 9000?

No. Management traffic is fine at 1500. Jumbo frames matter most for vSAN, vMotion, and NSX overlay (TEP) traffic. Many designs keep management at 1500 and set the data and overlay networks to 9000.

As the customer, what is my part versus the VMware admin’s part?

The physical switches and routers are your network team’s responsibility. The VDS, VMkernel, and NSX values are the VMware/NSX admin’s responsibility. The single thing both sides must do is agree on the same MTU number end to end.

How do I check the MTU currently set on a switch or host?

On ESXi, run esxcli network vswitch dvs vmware list for the VDS MTU, or check the VMkernel adapters in vCenter. On a physical switch, the network team can show the port and interface MTU. Then confirm end to end with a do-not-fragment ping.

11. Key Takeaways

MTU is just the maximum packet size a link will carry, and NSX in VCF needs more than the old 1500 default because the overlay adds an envelope of about 100 bytes. The answer to “where do we set it” is: in several places that must all agree. The physical switches and routers (owned by the network team) should be set highest, typically 9000. The VDS, the VMkernel adapters, and the NSX overlay (TEP / Uplink Profile) should match, with 1600 as the bare minimum, 1700 as a safe minimum, and 9000 for best performance. Keep guest VMs and gateway interfaces at least 200 bytes below the fabric. Then verify the whole path with a do-not-fragment ping rather than trusting the config screen. Get those pieces aligned and your VCF 9 networking will be fast and stable.

Primary reference: Broadcom, Guidance to Set Maximum Transmission Unit (VCF 9.0).

Written from a real VCF 9 deployment workshop question, to help non-technical stakeholders and new admins understand where MTU is configured and why.

About The Author


Discover more from Journal of Intelligent Infrastructure – By Dr Pranay Jha

Subscribe to get the latest posts sent to your email.

Leave a Reply

Your email address will not be published. Required fields are marked *

Architect’s Toolkit

About the Author

Dr. Pranay Jha is a Cloud and AI Consultant with 18+ years of experience in hybrid cloud, virtualization, and enterprise infrastructure transformation. He specializes in VMware technologies, multi-cloud strategy, and Generative AI solutions. He holds a PhD in Computer Applications with research focused on Cloud and AI, has published multiple research papers, and has been a VMware vExpert since 2016 and a VMUG Community Leader.

Discover more from Journal of Intelligent Infrastructure - By Dr Pranay Jha

Subscribe now to keep reading and get access to the full archive.

Continue reading