n0-computer / n0-computer/sendme
ERROR iroh_quinn_udp::imp: got transmit error, halting segmentation offload
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.2k
- Forks
- 78
- PR merge metrics
- No merged PRs in 30d
Description
2024-08-10T06:19:59.120474Z ERROR iroh_quinn_udp::imp: got transmit error, halting segmentation offload
I provide a server that will generate this file for you:
sendme receive blobacyeboyfhlszybnlqliyhvlbgkdnt5teybpm27yrpj6xahetgpbluajdnb2hi4dthixs6zlvo4ys2mjoojswyylzfzuxe33ifzxgk5dxn5zgwlrpaiafp3khwt2wqagavac6fp55ama6gzgbecgcklcx4ddcnyhuh5lf53uak4hgp754aquyz5slaqwlakq
this is a 1GB file that fails to download from the server,
the server says 2024-08-10T06:24:36.963867Z ERROR iroh_quinn_udp::imp: got transmit error, halting segmentation offload
qlm@qlmfb1:~/git/tmp$ sendme --version
sendme 0.13.0
qlm@qlmfb1:~/git/tmp$ uname --all
Linux qlmfb1 5.15.0-116-generic #126-Ubuntu SMP Mon Jul 1 10:14:24 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
qlm@qlmfb1:~/git/tmp$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
and
https://www.ibm.com/docs/en/linux-on-systems?topic=offload-tcp-segmentation
I discover:
qlm@qlmfb1:~/git/tmp$ sudo ethtool -K enp0s3 tx on sg on tso on
Actual changes:
tx-scatter-gather: off [requested on]
tx-checksum-ipv4: off [requested on]
tx-checksum-ip-generic: off [requested on]
tx-checksum-ipv6: off [requested on]
tx-scatter-gather-fraglist: off [requested on]
tx-tcp-segmentation: off [requested on]
tx-tcp-ecn-segmentation: off [requested on]
tx-tcp-mangleid-segmentation: off [requested on]
tx-tcp6-segmentation: off [requested on]
tx-checksum-fcoe-crc: off [requested on]
tx-checksum-sctp: off [requested on]
Could not change any device features
and
qlm@qlmfb1:~/git/tmp$ sudo ethtool --offload enp0s3 rx on tx on
Actual changes:
tx-checksum-ipv4: off [requested on]
tx-checksum-ip-generic: off [requested on]
tx-checksum-ipv6: off [requested on]
tx-checksum-fcoe-crc: off [requested on]
tx-checksum-sctp: off [requested on]
rx-checksum: off [requested on]
Could not change any device features
In other words, this platform does not support tcp segmentation,
is there a way to get sendme working in such case?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the 1GB transfer with sendme 0.13.0 on Ubuntu 22.04 using the provided command, then inspect quinn-udp/src/unix.rs around the referenced line and the transmit-error path. Check how sendme behaves when segmentation and checksum offload cannot be enabled; done means the provided transfer completes successfully or the limitation is clearly handled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, rust
- Domain
- cli, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100