Skip to content

Wolfguard support#69

Draft
gasbytes wants to merge 1 commit intowolfSSL:masterfrom
gasbytes:wolfguard-support
Draft

Wolfguard support#69
gasbytes wants to merge 1 commit intowolfSSL:masterfrom
gasbytes:wolfguard-support

Conversation

@gasbytes
Copy link
Contributor

@gasbytes gasbytes commented Mar 5, 2026

STILL WIP, working on refactor it in order to not use linux apis at all, so more bare metal centric, missing support for some l3 capabilities in wolfip. effectively depends on the this pr #70

changes made:

adds wolfguard as a wolfIP link-layer driver, giving every socket on the stack transparent WireGuard-compatible encryption without application changes.

wolfguard (wolfguard.ko) is an ARPHRD_NONE netdev, Layer 3 only, no Ethernet. wolfIP is Layer 2 and expects Ethernet frames.

(temporary behaviour) The driver (wolfip_wolfguard.c) basically implements the logic this by intercepting ARP requests from wolfIP and returning synthetic replies with dummy MACs, then stripping/prepending Ethernet headers on the send/receive path.
The "fake" MACs never appear on the wire; all actual I/O goes through an AF_PACKET/SOCK_DGRAM socket (wolfguard is not a TUN device) carrying raw IP packets that the kernel module encrypts/decrypts transparently:

  • unit-wolfguard and test-wolfguard
  • updated documentation
  • workflow (non-fips)
  • minor edits to the esp source and unit tests to be FIPS compliant when running against a wolfssl built in FIPS mode
  • fips build properly tested locally, no issues encountered during the build process and/or running the testsuite and the loopback functional test

- unit-wolfguard and test-wolfguard;
- updated documentation;
- workflow (non-fips);
- minor edits to the esp source and unit tests to be FIPS compliant when
  running against a wolfssl built in FIPS mode;
@gasbytes gasbytes force-pushed the wolfguard-support branch from 07f0d67 to 38e24da Compare March 5, 2026 14:49
@gasbytes gasbytes self-assigned this Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant