oxidecomputer / oxidecomputer/opte
Need to track NAT exhaustion
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 77
- Forks
- 11
- Avg merge
- 9d 20h
- Merged PRs (30d)
- 8
Description
One of the ways a flow can fail is due to resource exhaustion. The best current example is NAT exhaustion, e.g., running out of ports in a NAT Pool for making outbound connections. Here is where we handle the generic failure of a layer to generate an action descriptor. We need to hook in some basic statistics about things like NAT exhaustion. That could be directly at the above location, or possibly here which is where the Port object itself would get an error related to resource exhaustion from processing an inbound packet (either using a cached UFT entry or processing each layer serially).
Contributor guide
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 reading the generic layer failure handling in opte/src/engine/layer.rs near line 949 and the Port error path in opte/src/engine/port.rs near line 1653. Trace how resource-exhaustion errors from inbound packet processing reach those locations, then determine where basic NAT-exhaustion statistics should be recorded. Done means NAT Pool port exhaustion is represented in the requested statistics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking, observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100