microsoft / microsoft/demikernel

[inetstack] Support Compile-Time Switch for Prioritizing Wildcard Address Lookup

Open
#184 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue
Dominant language
Rust
Stars
1.2k
Forks
151
PR merge metrics
No merged PRs in 30d

Description

Context

When processing incoming packets, we prioritize searching for a socket bound to a specific address rather than searching for a matching socket bound to the wildcard address INADDR_ANY:

https://github.com/demikernel/inetstack/blob/40c6ffcd260232077cfc4ecc38a2a8cc215f9a5e/src/protocols/udp/peer.rs#L345-L356

The spec does not specify which search should be prioritized over the other, and the current policy may not behave as the majority of other stacks.

Proposed Solution

We should support a compile-time switch that would enable one the choose which searching policy should be prioritized. Furthermore, the default build should be setup to the one matching the behavior of the majority of other stacks.

Contributor guide

Open the contributing guide

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 src/protocols/udp/peer.rs lines 345-356, where the specific-address and wildcard-address lookup priorities are handled. Determine how a compile-time switch can select either policy and establish which behavior should be the default based on other stacks. Done means both policies are selectable and the default matches the majority 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.