DEV9: Support NdisMediumIP/DLT_RAW adapters with pcap #11997
+347
−61
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.
Description of Changes
Support adapters with a capture data type of
DLT_RAW
.Handle point-point links with the internal DHCP.
Rationale behind Changes
Some VPN software, like Cloudflare's WARP, uses
NdisMediumIP
adapters (which npcap maps toDLT_RAW
) which, as its name might suggest, handles IP packets directly, instead of Ethernet frames.These VPN adapters may also present a point-point link (having a netmask of 255.255.255.255)
PS2's networking doesn't expect such networks, instead requiring a gateway IP present within the same network.
As a workaround, we set the gateway to the PS2's IP, fudging this requirement.
Suggested Testing Steps
Test pcap on VPN adapters, such as Cloudflare's WARP or ProtonVPN.
ProtonVPN might not use the point-point netmask, so is worthwhile testing both