oxidecomputer / oxidecomputer/maghemite
TTL settings are broken for IPv6 peers
@taspelund is already working on this.
Since Feb 26, 2026.
- Dominant language
- Rust
- Stars
- 94
- Forks
- 6
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 12
Description
Configuring an IPv6 peer with --min-ttl (mgadm flag) doesn't actually result in the IPv6 hop limit field being updated on the wire, at least not on Illumos.
I believe there are two bugs here: one when setting the hop limit on the current socket (packets we send) and one when setting the minimum acceptable hop limit (packets we receive).
For the packets we receive, I think we are incorrectly calling setsockopt with IPPROTO_IP/IP_MINTTL when it should be IPPROTO_IPV6/IPV6_MINHOPCOUNT.
For the packets we send, we are just calling TcpStream.set_ttl() which eventually calls setsockopt with IPPROTO_IP/IP_TTL -- which is IPv4 specific. It doesn't look like there's a corresponding TcpStream method for the IPv6 hop limit, which means we'll probably need to call setsockopt with IPPROTO_IPV6/IPV6_UNICAST_HOPS
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.
Assessment
This issue has not been assessed yet.