[Bug 253488] wg(4) IPv6 endpoints not supported yet

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Feb 13 19:13:21 UTC 2021


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253488

            Bug ID: 253488
           Summary: wg(4) IPv6 endpoints not supported yet
           Product: Base System
           Version: 13.0-STABLE
          Hardware: amd64
                OS: Any
            Status: New
          Keywords: ipv6
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs at FreeBSD.org
          Reporter: zarychtam at plan-b.pwste.edu.pl

I have asked on D26137 review, then on the freebsd-net@ mailing list but
haven't received any useful feedback on this matter, though the code suggests
IPv6 endpoints are implemented. 

When IPv6 endpoint is specified in the form: [IP:v6::address]:port while
creating the tunnel from the command line we get only the error:
wg0: wg_peer_add bad length for endpoint 28 
So I modified code in sys/dev/if_wg/module/module.c[1] around line 590 to skip
this check but compare the lengths. It came out that after this change
Wireguard protocol is able to do a handshake with IPv6 specified endpoint, but
sizeof(*endpoint)[1] seems to be always 16(for both legacy IP and IPv6
specified endpoints), what is fine for legacy IP, while for IPv6 endpoint size
is 28.
After disabling this check no more than Wireguard handshake over IPv6 can be
observed. The tunnel is either not created or not able to carry the data.[2]

[1]
https://cgit.freebsd.org/src/tree/sys/dev/if_wg/module/module.c?id=5aaea4b#n590
[2] https://lists.freebsd.org/pipermail/freebsd-net/2021-February/057463.html

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list