This guide shows how to enable the fleet-wide opt-in that allows end users to turn on jumbo frames on the primary network interface of their instances.
Background
Traffic between instances within an Oxide rack already benefits from a 9000 byte underlay MTU via virtio TCP segmentation offload and tunneled TSO at the sled NIC. The MTU advertised to a guest’s primary network interface — the interface used for traffic leaving the rack — defaults to 1500 bytes because the upstream MTU is a property of the network the rack is attached to, not of the rack itself.
When the upstream network supports jumbo frames end-to-end, raising the primary interface MTU to 8500 bytes can substantially improve throughput for flows that send large messages. Jumbo frames have little or no benefit for workloads whose typical message size already fits within 1500 bytes.
The opt-in is split into two settings:
A fleet-wide setting that an operator enables only when the upstream network actually supports jumbo frames.
A per-instance setting that end users set on their own instances.
While the fleet-wide setting is disabled, any attempt to set the per-instance
setting to true (on instance create or update) is rejected with HTTP 400.
The 8500 byte effective MTU leaves 500 bytes of headroom under the 9000 byte underlay MTU for VPC encapsulation and future header extensions.
Before enabling
Confirm the following before enabling the fleet-wide opt-in:
The upstream switches connected to the rack uplinks have an MTU of at least 9000 bytes on the relevant ports.
Every device on the paths your users care about — upstream switches, routers, firewalls, peering networks — passes 9000 byte frames without fragmenting or dropping them.
ICMPv4 fragmentation-needed and ICMPv6 packet-too-big messages are not filtered along those paths. Guests rely on path MTU discovery (PMTUD) when they send to destinations behind a smaller MTU; PMTUD black holes will cause connections to stall after the handshake.
enable_jumbo_frames to true and restarts the instance. The
end-user interface for jumbo frames is described in the
Networking guide.Viewing the current setting
oxide system networking settings view{
"external_jumbo_frames_opt_in_enabled": false
}Enabling the fleet-wide opt-in
oxide system networking settings update \
--external-jumbo-frames-opt-in-enabled true{
"external_jumbo_frames_opt_in_enabled": true
}Once this is enabled, users in any silo on the rack can set
enable_jumbo_frames on their instances. See the
Jumbo frames section
of the Networking guide for the end-user workflow.
Disabling the fleet-wide opt-in
oxide system networking settings update \
--external-jumbo-frames-opt-in-enabled falseThe fleet-wide opt-in may be disabled at any time, including while instances have per-instance jumbo frames enabled. The effect is:
Running instances are not reconfigured. Their primary interface keeps the 8500 byte MTU it was started with.
On the next restart of an instance, the effective MTU is recomputed. Because the fleet-wide opt-in is now off, the primary interface comes back with the default 1500 byte MTU even if
enable_jumbo_framesis stilltrueon the instance.New attempts to set
enable_jumbo_frames=true(on instance create or update) are rejected with HTTP 400 while the fleet-wide opt-in is disabled. Setting it tofalseis always allowed.Per-instance values are preserved. Re-enabling the fleet-wide opt-in restores jumbo frames on those instances at their next restart, without any per-instance change.
Recommendations for end users
When jumbo frames are enabled, communicating with hosts behind a smaller MTU depends on PMTUD working correctly. Recommend that users running Linux guests enable packetization-layer PMTUD as a fallback:
sysctl -w net.ipv4.tcp_mtu_probing=1This lets TCP shrink its effective MTU based on retransmission signals when ICMP messages are dropped along the path.
Scope
Only the primary OPTE interface of an instance is affected. Secondary interfaces continue to use the default MTU.
Switch port MTUs on the rack are not user-configurable. The Tofino switch ASIC natively passes frames larger than 9000 bytes, so the rack switches do not artificially constrain frame sizes on their uplinks.
The MTU on
tfportdata links in the switch zone (used by BGP and DDM) is unaffected and remains at 1500 bytes.