microsoft / microsoft/demikernel
[inetstack] The Stack Should Support Multiple Network Interfaces (and Addresses)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.2k
- Forks
- 151
- PR merge metrics
- No merged PRs in 30d
Description
The stack currently only supports a single network interface, which is expected to have a single MAC address and a single IPv4 address.
Even if we decide we only care to support a single physical network interface (to avoid multi-homing and/or routing issues), we should still add support for a loopback interface as lots of existing real-world code expects to be able to talk to the loopback address.
The preferred solution to this problem would be true multi-interface support, with each interface capable of holding multiple IP addresses, and (for hardware that support it) multiple multicast MAC addresses.
Alternatively, we need to at least support assigning the loopback address to our one-and-only interface (or some other software hack that approximates this behavior).
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 tracing the inetstack implementation and how it represents its current single interface, MAC address, and IPv4 address. Compare the multi-interface, multiple-address, multicast-MAC, and loopback alternatives described in the issue. Done means the chosen approach supports loopback communication and the required interface and address assignments without leaving the existing single-interface assumptions unresolved.
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