mdlayher / corerad

CoreRAD is an extensible and observable IPv6 Neighbor Discovery Protocol router advertisement daemon. Apache 2.0 Licensed.
https://corerad.net
Other
152 stars 15 forks source link

internal/corerad: enable re-initializing Advertiser on certain errors #7

Closed mdlayher closed 4 years ago

mdlayher commented 4 years ago

WIP for now but feedback is welcome. I think it's time to factor out all the interface configuration functionality into its own type, rather than trying to keep track of it all within the Advertiser.

Signed-off-by: Matt Layher mdlayher@gmail.com

mdlayher commented 4 years ago

Things seem to mostly work as of now and I'm reasonably happy with it.

https://gist.github.com/mdlayher/101acb610cfb81afc35bdb770f51bcd3

There's still some more work to be done figuring out what sorts of state changes can be recovered from. But adding a rtnetlink listener for state changes will certainly help things along, so I'm going to merge this as is and start working on that.