-
Notifications
You must be signed in to change notification settings - Fork 846
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
Enable VRF Support in WSL2 linux kernel #6850
Comments
So 2 things:
|
https://www.kernel.org/doc/html/latest/networking/vrf.html provides the info. I will add this to my PR. |
Ok,
The issue is that we have many people working on the core platform and we expect a lot more teams to start building services on top of our platform. Having all these people compile and replace the shipped kernel just to get started seems unnecessary. The ideal solution to this would be to default the kernel config to set |
I would suggest publishing your custom kernel as a base as part of the service however WSL2 isn't intended to serve for production. I can understand using VRF for simulating a prod environment but WSL2 is intended for dev/testing. Your services should be deployed on a real Linux host which should already have VRF enabled as a module. |
You are right. We are using WSL2 only for dev/test work. We need the VRFs to allow people to run tests on their machine. The problem with publishing a custom kernel is that we will need to re-publish a custom kernel every time the WSL2 kernel is updated. This along with the fact that VRFs are a native feature of linux, it feels unnecessary to have to go through the trouble of publishing and maintaining a version of the WSL2 linux kernel that only adds VRF support. At least in networking software industry, VRFs are widely used, so having it as a default option will likely be useful to others. Do you think having this enabled will have significant effect on the kernel performance? I would expect not. |
Agreed with everything @abhishek-pandey-1 says. I'm with a large group of developers who would find this very useful. |
Tailscale also needs We occasionally get support requests or tweets (e.g. https://mobile.twitter.com/false_temp/status/1464171823374151681) asking why IPv6 doesn't work in WSL. |
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
IPV6_MULTIPLE_TABLES=y NET_VRF=m introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
CONFIG_NET_VRF=y IPV6_MULTIPLE_TABLES=y NET_VRF=y introducing NET_VRF as the first loadable module for WSL2. NET_VRF provides the ability to create virtual routing and forwarding domains in the Linux network stack. Link: microsoft/WSL#6850 Signed-off-by: Kelsey Steele <[email protected]>
Is your feature request related to a problem? Please describe.
My team in Azure is trying to adopt WSL2 as our dev environment. Our dev work and tests depend on linux VRFs but this isn't currently included in the WSL2 linux kernel build.
Describe the solution you'd like
I'd like a straight forward way to enable VRF support the WSL2 linux kernel. This can be:
Describe alternatives you've considered
I looked into compiling the VRF module and inserting it into the pre-installed kernel on boot. This has two problems:
As a workaround, I have compiled a WSL2 linux kernel release with the config needed to support VRFs and replaced the default shipped kernel with this. This works Ok, but:
Additional context
Enabling VRF requires this additional config:
The text was updated successfully, but these errors were encountered: