oxidecomputer / oxidecomputer/opte
Want prefix margin support
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 77
- Forks
- 11
- Avg merge
- 9d 20h
- Merged PRs (30d)
- 8
Description
At some point we will probably want the ability for an OPTE/xde client to negotiate a prefix margin for its outbound packets/mblks. Such a capability allows one to a) avoid additional allocation in the OPTE layer and b) OPTE could of course create its own mblk header pool; but by having the client create the margin we can keep everything in one mblk which may allow us to add additional optimizations down the stack.
For example, could we add an mblk flag to indicate to downstream consumers that all data is in one mblk and use optimized functions for any needed header parsing of their own? Specifically I'm thinking of things like mac_ether_offload_info() which have to greatly complicate their code to guard against chained packets. That said, why not go one step further and have OPTE provide this MEOI data by attaching it to the mblk somehow? That brings up a large discussion around mblk changes, but it's worth considering as it allows us to remove redundant parsing work.
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
Begin by tracing the OPTE/xde client outbound packet and mblk path, then inspect the downstream mac_ether_offload_info() handling mentioned in the issue. The proposal spans prefix negotiation, mblk flags or metadata, and parsing optimizations, so the first milestone is agreeing on a focused design and scope; done would require an accepted implementation and tests for the chosen behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100