Page MenuHomeFreeBSD

jason_zx2c4.com (Jason A. Donenfeld)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 14 2021, 8:54 PM (258 w, 2 d)

Recent Activity

Jul 26 2025

jason_zx2c4.com added a comment to D51265: net/amneziawg-kmod and net/amneziawg-tools: ports for fast, modern and secure AmneziaWG VPN with anti-detection tweaks.

Weird. Sounds like it should be reverted.

Jul 26 2025, 6:34 PM
jason_zx2c4.com added a comment to D51265: net/amneziawg-kmod and net/amneziawg-tools: ports for fast, modern and secure AmneziaWG VPN with anti-detection tweaks.

Why would you merge this?

Jul 26 2025, 3:27 PM
jason_zx2c4.com added a comment to D51265: net/amneziawg-kmod and net/amneziawg-tools: ports for fast, modern and secure AmneziaWG VPN with anti-detection tweaks.
Jul 26 2025, 3:27 PM

Jul 23 2025

jason_zx2c4.com added a comment to D51265: net/amneziawg-kmod and net/amneziawg-tools: ports for fast, modern and secure AmneziaWG VPN with anti-detection tweaks.

Do you think it’s a bad idea to extend the existing WireGuard driver with Netgraph hooks or custom UDP stream processing? (Similar to how mpd handles PPP streams in flexible ways.) — just a side question. Would that be a question better suited for the mailing list?

Jul 23 2025, 12:09 PM
jason_zx2c4.com added a comment to D51265: net/amneziawg-kmod and net/amneziawg-tools: ports for fast, modern and secure AmneziaWG VPN with anti-detection tweaks.

I think calling it something with "wg" in the name also is like cheating on your homework, poorly. "My dog ate my homework" level of silliness. Like... we all see it there. So just don't do it. Quit trying to call it WireGuard. Make your own VPN protocol, do all sorts of fun things, add this or that random obfuscation idea, whatever. Networking is fun; I don't want to stop you from enjoying yourself. I'm just asking that you don't try to peddle this as some kind of WireGuard thing, because from my perspective, it really is not. And I think this perspective suits us both: by getting rid of "wg" and not trying to pretend it's WireGuard, you get me totally out of your hair and you get to do whatever you want and I don't need to worry about it. And _then_ if you do come across some good ideas you want to upstream or talk to upstream about including in a protocol or whatever else, you can happily send an email to the mailing list, "hey I made a different non-wireguard thing, but I think this would be a cool idea to add. What do you guys think?" And then we can look at it and see. But, anyway, all of that begins by you not trying to pretend this is "wg" anything.

Jul 23 2025, 12:36 AM

Jul 12 2025

jason_zx2c4.com added a comment to D51265: net/amneziawg-kmod and net/amneziawg-tools: ports for fast, modern and secure AmneziaWG VPN with anti-detection tweaks.

I'm uncomfortable with you calling this "wireguard" in any way shape or form.

Jul 12 2025, 11:50 PM

Jul 11 2025

jason_zx2c4.com added a comment to D51239: Support for DPI-bypassing extension on top of WireGuard protocol.

"AdvancedSecurity" -- Windows 2000 branding comes to WireGuard!

Jul 11 2025, 10:24 AM

Jun 19 2025

jason_zx2c4.com accepted D50446: kern: wg: refactor out some repetitive bits in allowed-ip config.
Jun 19 2025, 6:27 PM
jason_zx2c4.com accepted D50450: wg: ipc: add allowed-ip flags support for FreeBSD.
Jun 19 2025, 6:25 PM
jason_zx2c4.com accepted D50448: kern: wg: add support for removing Allowed-IPs.

LGTM.

Jun 19 2025, 6:24 PM

Jun 12 2025

jason_zx2c4.com added inline comments to D50448: kern: wg: add support for removing Allowed-IPs.
Jun 12 2025, 1:34 AM

May 22 2025

jason_zx2c4.com added inline comments to D50448: kern: wg: add support for removing Allowed-IPs.
May 22 2025, 12:29 AM

Mar 18 2024

jason_zx2c4.com added a comment to D37404: wg.8: Rewrite the manual page.
In D37404#1012430, @gbe wrote:

@des I am not sure how to handle the angle brackets. To remove them is the easy part, but that would change the output of what is currently upstream.

@jason_zx2c4.com would you be fine with the removal?

Mar 18 2024, 12:14 AM

Feb 27 2024

jason_zx2c4.com added a comment to D37404: wg.8: Rewrite the manual page.

What ever happened to submitting this upstream in parts, as I described above in my first comment?

Feb 27 2024, 12:50 PM

Nov 24 2022

jason_zx2c4.com added a comment to D37404: wg.8: Rewrite the manual page.

I think this idea is fine, and I would like to upstream things as much as possible, since that currently what in base is mostly the same as upstream.

Is it possible for us to accommodate both Linux and FreeBSD parts in one wg(8) page? Most parts of the wg(8) are still sharable between platforms. I think we have some ways:

  1. Mention everything in the manual page, e.g.,
SEE ALSO

On Linux:  wg-quick(8), ip(8), ip-link(8), ip-address(8), ip-route(8).
On FreeBSD: netstat(1), ifconfig(8), route(8)
  1. If there are more and more difference, Let's split the manual pages into platform independent and platform dependent parts, i.e.: wg(8), wg-linux(8), wg-freebsd(8),
  1. If 2) looks scary or inconvenient to the users (seems so), we can have a simple pre-procressor to process 1) and accept platform as a parameter to generate the final file we want.

I think at this stage, 1) should be sufficient and let's try to avoid going to 2) and 3) in the future.

Nov 24 2022, 5:21 PM

Nov 17 2022

jason_zx2c4.com added a comment to D37404: wg.8: Rewrite the manual page.
In D37404#850530, @pauamma wrote:

Would replacing the roff(7) typographic markup with mdoc(7) semantic markup (in a future change if not here) be too much for upstream to take?

Nov 17 2022, 7:46 PM
jason_zx2c4.com added inline comments to D37404: wg.8: Rewrite the manual page.
Nov 17 2022, 7:44 PM
jason_zx2c4.com added a comment to D37404: wg.8: Rewrite the manual page.

Frankly, I'm not comfortable with taking -this- much of a diff without looping in upstream in advance -- the SEE ALSO proposal was reasonable, though. Adding Jason in on this.

Nov 17 2022, 7:43 PM

May 19 2021

jason_zx2c4.com added a comment to D28136: Make sure user-space calls are drained when detaching network interfaces..

Some kernel drivers call ifhwioctl() from under a mutex. Just grep for it in sys/

May 19 2021, 1:35 PM
jason_zx2c4.com added a comment to D28136: Make sure user-space calls are drained when detaching network interfaces..

We need to tweak this a little bit. There appears to be some sleepable mutex after non-sleepable mutex issues here.

May 19 2021, 1:16 PM

May 18 2021

jason_zx2c4.com accepted D28136: Make sure user-space calls are drained when detaching network interfaces..

Seems clean and simple to me. Nice improvement over the last revision. Let's merge this.

May 18 2021, 4:09 PM
jason_zx2c4.com added a comment to D28136: Make sure user-space calls are drained when detaching network interfaces..

Sure, that approach works fine too, and amounts to the same thing you'd arrive at with SRCU or epoch.

May 18 2021, 3:32 PM
jason_zx2c4.com added a comment to D28136: Make sure user-space calls are drained when detaching network interfaces..

Another approach would be to add SX_NOASSERTS (in addition to SX_NOWITNESS), which would skip those KASSERTs and such.

May 18 2021, 3:26 PM
jason_zx2c4.com added a comment to D28136: Make sure user-space calls are drained when detaching network interfaces..

If you look at _sx_xunlock() you see there is an assert that same thread locks and unlocks.

May 18 2021, 3:14 PM
jason_zx2c4.com added a comment to D28136: Make sure user-space calls are drained when detaching network interfaces..

I don't think we want LinuxKPI stuff in core networking code, right?

May 18 2021, 2:47 PM
jason_zx2c4.com added a comment to D28136: Make sure user-space calls are drained when detaching network interfaces..

I just wrote up a workaround of calling WITNESS_DESTROY and INIT manually like the vfs code which would work but was hackish, and then realized....

May 18 2021, 2:46 PM
jason_zx2c4.com added a comment to D28136: Make sure user-space calls are drained when detaching network interfaces..

Ping - any more comments or ideas here?

May 18 2021, 2:29 PM

May 3 2021

jason_zx2c4.com edited reviewers for D30087: uipc_socket: add sogetsockaddr convenience function, added: network; removed: Core Team.
May 3 2021, 12:07 PM
jason_zx2c4.com edited reviewers for D30087: uipc_socket: add sogetsockaddr convenience function, added: Core Team; removed: markj, jhb.
May 3 2021, 11:55 AM
jason_zx2c4.com added a comment to D30087: uipc_socket: add sogetsockaddr convenience function.

I had previously sent this to freebsd-net, but I'm told phrabricator is a better place for it. Copy and pasting from: https://lists.freebsd.org/pipermail/freebsd-net/2021-April/058173.html :

May 3 2021, 8:25 AM
jason_zx2c4.com requested review of D30087: uipc_socket: add sogetsockaddr convenience function.
May 3 2021, 8:21 AM

Apr 20 2021

jason_zx2c4.com added a comment to D28136: Make sure user-space calls are drained when detaching network interfaces..

Jason, we could possibly use a SX lock too, but I need to check it a bit. SX locks have a WITNESS object when debuggin is enabled and needs to be destroyed.
In your example, you need to point out where to xunlock aswell, because I'm not sure if it is a good idea to destroy locked mutexes.

Apr 20 2021, 4:36 PM

Apr 14 2021

jason_zx2c4.com added a comment to D28136: Make sure user-space calls are drained when detaching network interfaces..

It looks like the idea here is to increment a reference during ioctl, drop it at the end of an ioctl, and never increment a reference if it decrements to zero. Then, when destroying, you can simply drop the final reference and then sleep-loop until the reference drops to zero before you move on freeing things.

Apr 14 2021, 9:34 PM