Repository navigation
proxy CIDR for address wildcards; WSL005 sparseVhd and swiotlb; data for 3.0.3/3.0.4 - #122
Merged
Merged
Conversation
…for 3.0.3/3.0.4 proxy: ParseBypass turns "10.*", "172.16.*.*", "192.168.1.*" into the CIDR block they mean. Passed through, no Linux tool matches them; WSL's autoProxy has the same bug (microsoft/WSL#41940). A lone "*" is kept. WSL005: sparseVhd=true is ignored on 2.5.6 to 3.0.1 and experimental from 3.0.2 (microsoft/WSL#41726). Before 3.0.4, virtiofs, consomme (or virtioproxy) and an explicit experimental.swiotlb put swiotlb=force on the kernel command line (microsoft/WSL#41828); not when wsl2.virtio=false. compat.json: stable 3.0.3, pre-release 3.0.4. wslconfig-keys.json regenerated against the 3.0.4 source: no key added or removed; notes on sparseVhd and virtiofs. docs: the proxy guide on address wildcards; the WSL 3.0 research note gains 3.0.2 to 3.0.4.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The last of the WSL 3.0.x survey. Closes #117. Closes #119.
proxy: address wildcards become CIDRParseBypasspassed10.*and192.168.*through unchanged, and no Linux tool matches that form. This is the same bug WSL's ownautoProxyhas (microsoft/WSL#41940). Trailing wildcards now become their CIDR block, for example10.0.0.0/8,172.16.0.0/16and192.168.1.0/24. A wildcard in the middle (10.*.0.1) has no CIDR form and is left alone, and a lone*is kept. The defaults already used CIDR (169.254.0.0/16).Measured with curl 8.18 in Ubuntu, with the proxy set to an address that doesn't answer:
no_proxy=127.0.0.0/8bypassed it (connection refused locally), whileno_proxy=127.*sent the request to the proxy (timed out).WSL005: two rules that depend on the runtime version
sparseVhd=true: on 2.5.6 to 3.0.1 it's a warning, because WSL ignored it ("disabled due to potential data corruption"). From 3.0.2 it's info, because it's honoured but experimental (#41726). I read the version boundaries from the PR diff and the 2.5.6 release notes.swiotlb=forcebefore 3.0.4: it triggers onvirtiofs=true,networkingMode=consommeorvirtioproxy, or an explicitexperimental.swiotlb, and not whenwsl2.virtio=false. I took that condition fromWslCoreConfig.cppat 3.0.3. The finding never comments out the line it's about. Measured on this machine:.wslconfighasvirtiofs=true, and the 3.0.3 VM boots withswiotlb=force hv_pci_swiotlb=67108864.Data
compat.json: stable 3.0.3, pre-release 3.0.4, the same three fields the refresh workflow edits. (data: WSL 3.0.3 stable, 3.0.2 pre-release #119 said pre-release 3.0.2 because it ran the day before 3.0.4 came out.)wslconfig-keys.json: regenerated withtools/gen-wslconfig-keysagainst the 3.0.4 checkout. No key was added or removed since the previous source (2026-09-12); only the stamp moved. Notes added onsparseVhdandvirtiofs.Docs
The proxy guide now covers address wildcards.
docs/research/2026-10-wsl3.mdgains a "3.0.2 to 3.0.4" section, with what was measured marked separately from what was read in source or issue threads. It includes the kernel 6.18 option removals (TASKSTATS, PPP, INET_DIAG_DESTROY); nothing checks for those yet.Tests
Each new rule (the CIDR translation, the sparse version window, the swiotlb version gate, the virtioproxy alias) was broken in turn, and a test failed each time.