Cannot obtain `sockaddr_ll` from `DataLinkReceiver::next`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 2.6k
- Forks
- 329
- PR merge metrics
- No merged PRs in 30d
Description
We want to identify whether a L3 datalink packet is sent to the interface or going outward. However, iterating over a DataLinkReceiver through DataLinkReceiverImpl::next only provides data packets, while caddr and anything else is not accessible.
The man page packet(7) says the sockaddr_ll contains some useful information where sll_pkttype might be able to tell which direction the packet is flowing. Is it possible to expose caddr (defined here) or encapsulate it in an idiomatic way?
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
Start with DataLinkReceiverImpl::next in pnet_datalink/linux.rs and inspect caddr, defined in the same file. Read packet(7), especially sockaddr_ll and sll_pkttype, to determine the metadata needed; done means the receiver exposes that information through an idiomatic API without losing the existing packet data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100