oxidecomputer / oxidecomputer/dendrite
Implement ICMP_NEEDED in tfportd
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 20
- Forks
- 3
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 4
Description
When the p4 program detects a packet that requires an ICMP error (e.g., "destination unreachable"), it forwards that packet to tfportd as an ICMP_NEEDED Sidecar packet. The p4 program itself can't generate the error packet to return to the originator, so it expects the daemon to do that work.
Currently, tfportd silently ignores that ICMP_NEEDED packet. There is a comment in code indicating that an issue is open to implement that missing functionality, but that issue (https://github.com/oxidecomputer/dendrite-archived/issues/156) is only tangentially related and hasn't been touched in 7 months.
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 by locating tfportd's handling of ICMP_NEEDED Sidecar packets and the code comment referencing issue 156. Trace how the p4 program forwards packets requiring an ICMP error, then determine the daemon's expected response path. Done means tfportd no longer ignores ICMP_NEEDED and returns the appropriate ICMP error to the original sender.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100