rust-lang / rust-lang/socket2

Retrieving and setting the IPv6 hop limit / flow header fields

Open
#634 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
870
Forks
305
PR merge metrics
No merged PRs in 30d

Description

set_recv_hoplimit_v6() can be used to

Set the value of the IPV6_RECVHOPLIMIT option for this socket.
The received hop limit is returned as ancillary data by recvmsg() only if the application has enabled the IPV6_RECVHOPLIMIT socket option

However, it is unclear how to retrieve the hop limit data when calling recvmsg()

It is also unclear how to set the flow flow label field nor set the hop_limit field for outgoing packets.
And how to retrieve the flow label value when calling recvmsg().

Especially the hop_limit field restriction makes IPv6 traceroute implementations troublesome.

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 with the existing set_recv_hoplimit_v6() entry point and the recvmsg() ancillary-data behavior described in the issue. Investigate how IPv6 hop-limit and flow-label fields are exposed for incoming and outgoing packets, then define the API scope and platform behavior needed to support retrieval and setting of these fields.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.