Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Catpowder] Windows: support co-hosting of Demikernel when XDP is in use #1435

Open
kyleholohan opened this issue Oct 8, 2024 · 0 comments
Assignees
Labels
enhancement Enhancement Request on an Existing Feature

Comments

@kyleholohan
Copy link
Contributor

kyleholohan commented Oct 8, 2024

Context

Currently, the XDP programs created by catpowder will capture all traffic on the interface. This is not necessarily desirable, as it will prevent regular traffic from flowing through the Windows kernel data path. Additionally, the port allocation schema will not respect ports reserved by the kernel.

Proposed Solution

Restructure the Catpowder windows LibOS to rebind XDP rules when a socket is bound or connected. Scope the rules such that XDP only inspects traffic relevant to the protocol/port. Add a new port manager to the layer4 components to replace the ephemeral port allocation and port binding which will validate ports against kernel-allocated ports (e.g., but creating a WinSock socket and binding it) and reserve those ports for use by Demikernel (i.e., so that no other application can attempt to use them through the kernel networking stack)

Alternative Solutions

I have no idea whether this is supported by XDP for Windows, but in theory unneeded traffic could be re-injected to the driver stack for processing by the kernel.

@kyleholohan kyleholohan added the enhancement Enhancement Request on an Existing Feature label Oct 8, 2024
@kyleholohan kyleholohan self-assigned this Oct 10, 2024
@kyleholohan kyleholohan changed the title [Catpowder] scope XDP program rules to only capture traffic for desired connections [Catpowder] Windows: support co-hosting of Demikernel when XDP is in use Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement Request on an Existing Feature
Projects
None yet
Development

No branches or pull requests

1 participant