Skip to content

XDE should listen to MSS suggestions made by senders for rack-external traffic #748

@FelixMcFelix

Description

@FelixMcFelix

The sender (illumos, viona) may have learned and deliberately set an MSS value on LSO traffic lower than the standard Ethernet MTU, accounting for tunnels and the like.

opte/xde/src/xde.rs

Lines 1779 to 1788 in c9c3d51

// Boost MSS to use full jumbo frames if we know our path
// can be served purely on internal links.
// Recall that SDU does not include L2 size, hence 'non_eth_payl'
let mut flags = offload_flags;
let inner_mtu = if mtu_unrestricted {
src_dev.underlay_capab.mtu - encap_len
} else {
u32::from(ETHERNET_MTU)
};
let mss = inner_mtu - non_eth_payl_bytes;

When we don't see mtu_unrestricted, we should be falling back to the value included in the dblk_t.

Part of unblocking PMTUD as in oxidecomputer/omicron#7998.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions