Open elwhite321 opened 2 years ago
As of today, wireguard genetlink does not expose any multicast groups:
$ uname -a
Linux matt-3 5.13.0-37-generic #42-Ubuntu SMP Tue Mar 15 14:34:06 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ genl ctrl get name wireguard
Name: wireguard
ID: 0x22 Version: 0x1 header size: 0 max attribs: 8
commands supported:
#1: ID-0x0
#2: ID-0x1
And listening for device changes made by iproute2 would be an rtnetlink operation, which is out of scope for this library.
I don't think there is anything that can be done here today. But maybe notifying on device configuration changes is something that @zx2c4 could consider for the WireGuard kernel module.
Thank you for correcting the title.
I have seen this patch but am unsure of the status. Maybe something for the future.
I was going to open another issue for adding and removing devices. This would also require rtnetlink, and thus I assume out of the scope too?
Thanks for the patch link.
That's correct: adding and removing devices is out of scope for this library since it ultimately relies on an entirely separate set of APIs.
I've implemented a package which watches interfaces using wgctrl and allows you to register callbacks for various events:
I have a use case where the user program using wgctrl-go needs control over the WireGuard kernel devices. If the wg, ip or similar CLIs are used to change a device, the user program will be out of sync.
What are the thoughts around implementing a multicast group client to update the devices as they change? Does this feature / enhancement justify the discontinuity between the user land device(s)?
I'd be happy to look into this if it makes sense.