oxidecomputer / oxidecomputer/dendrite

Add high port parameter to nat apis

Open
#66 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

Tracking issue for conversation started in https://github.com/oxidecomputer/dendrite-archived/pull/699.

In https://github.com/oxidecomputer/dendrite-archived/pull/699 it was discussed that we may have a small gap in behavior in how our nat APIs work. For a given IP, if the port range of an existing nat entry is contained within the larger range of an incoming nat entry, but does not land on the upper or lower port number, it will correctly be detected as a conflict when attempting to add it, but if you try to lookup the conflicting nat entry you will not find it because we only accept the low port number for lookups and deletions.

In https://github.com/oxidecomputer/dendrite-archived/pull/699 it was proposed that we expose the high port parameter throughout our APIs, however the subject of that PR was able to be accomplished more effectively without doing so.

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 with the discussion in PR #699, then trace the NAT API entry points for adding, looking up, and deleting entries. Determine where the high-port parameter would need to be exposed across those APIs; done means the APIs support the proposed parameter and the conflicting entry can be found through the relevant lookup behavior.

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
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.