oxidecomputer / oxidecomputer/dendrite

Implement ICMP_NEEDED in tfportd

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

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

  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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.