Add `xt_recent` kernel module so that Kubernetes Services with Session Affinity work in WSL
- Dominant language
- C++
- Stars
- 33.7k
- Forks
- 1.8k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 116
Description
**Is your feature request related to a problem? Please describe.**
The lack of this kernel module's presence makes Kubernetes Service with Session Affinity unusable and breaks a lot of things inside k8s clusters that could be running either inside the WSL VM directly or through containers inside the VM.
**Describe the solution you'd like**
I would like the `xt_recent` to be present by default so that I don't need to recompile the kernel myself to get Kubernetes Services to work with their basic feature set.
**Describe alternatives you've considered**
I tried recompiling the kernel myself, obviously. It's time consuming and annoying that I have to figure out what's broken, what I need to do, then finally do it. The investigation is not easy at all.
I can't patch literally all the services out there in k8s manifests, Helm charts, operators and so on to avoid using the client session affinity option.
**Additional context**
This is a revival of https://github.com/microsoft/WSL/issues/7124, but as a feature request instead of a bug.
Would also love to see `CONFIG_NETFILTER_XT_TARGET_CT=y` and `CONFIG_NETFILTER_XT_TARGET_TPROXY=y` present so that things like Cilium could work inside WSL.
We already had open PRs to fix this issue, but they were not accepted without a good and clear explanation on why, as I noted on https://github.com/microsoft/WSL/issues/7124#issuecomment-1329505719.
Contributor guide
Research direction
Start by reviewing the WSL kernel configuration and the earlier issue #7124, including the referenced comment and prior pull requests. Check how enabling xt_recent, CONFIG_NETFILTER_XT_TARGET_CT, and CONFIG_NETFILTER_XT_TARGET_TPROXY would affect the requested Kubernetes use cases; done means the requested modules or options are present by default and the existing concerns are resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes, linux
- Domain
- devops, operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100