hermit-os / hermit-os/kernel

Support path MTU discovery

Open
#2,539 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
1.5k
Forks
132
Avg merge
1d 14h
Merged PRs (30d)
39

Description

In benchmarks comparing Hermit with Linux, I see a huge performance advantage achieved by Linux due to the use of [path MTU discovery](https://datatracker.ietf.org/doc/html/rfc1191). On a machine local transfer using TAP devices, I observed Linux cranking up the MTU to something ~50k bytes, whilst Hermit stayed at the 1500 bytes MTU that the TAP device was actually configured with.

Implementing path MTU discovery would have to be done upstream. [Currently, Smoltcp states in their README](https://github.com/smoltcp-rs/smoltcp/blob/764ef3a8cc38d543f407555772f495d4810c8895/README.md?plain=1#L139):

>Packetization Layer Path MTU Discovery [PLPMTU](https://tools.ietf.org/rfc/rfc4821.txt) is not implemented.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the smoltcp README section linked in the issue and read RFC 1191 alongside the PLPMTU RFC 4821 reference. Confirm the upstream support needed for path MTU discovery, then determine how Hermit can consume it; done means transfers no longer remain limited to the configured 1500-byte TAP MTU when a larger path MTU is available.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.