libp2p / libp2p/rust-libp2p

QUIC "Message too long"

Open
#4,647 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
5.6k
Forks
1.3k
Avg merge
8h 47m
Merged PRs (30d)
19

Description

Summary

With switch to QUIC I sometimes getting messages like this:

2023-10-14T07:49:21.668469Z sendmsg error: Os { code: 90, kind: Uncategorized, message: "Message too long" }, Transmit: { destination: 65.108.232.15:30533, src_ip: None, enc: Some(Ect0), len: 1420, segment_size: None }

Expected behavior

Should not exceed MTU

Actual behavior

Fails, likely due to exceeding MTU

Relevant log output

No response

Possible Solution

This likely happens because I have MTU set to 1420 (Wireguard is the reason) rather than more common 1500. If there is MTU expectation hardcoded somewhere it probably needs to change to MTU discovery instead. If MTU discovery is already present, it should not print warnings/errors.

Changing MTU back to 1500 resolves the issue.

Version

libp2p 0.52.3
libp2p-quic 0.9.2

Would you like to work on fixing this bug ?

Maybe

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the QUIC sendmsg failure with a WireGuard MTU of 1420 and compare it with MTU 1500. Trace where the reported packet length is selected and determine whether MTU discovery is involved; done means packets no longer fail with "Message too long" under the lower MTU.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.