Slack's Nebula on OpenWrt -- discussion thread

yeah, I've seen your thread Need help creating a netifd compatible nebula package - #6 by jow

I'm not surprised. Everyone hits a roadblock when trying to use proto/netifd for anything that isn't very basic or a copy-paste of existing ones made by core devs, because there is no docs on netifd nor anybody that knows how netifd works besides a couple core devs that wrote it.

It just enrages me that multiple things I could script in an afternoon require advanced reverse-engineering sessions if I tried to do with netifd. For what benefit? Unless that situation changes, I'm not terribly interested in investing time on it.

For example ModemManager proto has similar issues where the proto support is only partial (can bring up the modem but then it fails to detect any status change to it, like if the modem reports that it's not connected or shuts down). And what's stopping it? They don't know enough about how netifd works https://github.com/openwrt/packages/issues/14096

Also the bonding proto is partial and relies on assumptions that make it useless for my usecase(s), and has a huge amount of code to do stuff that should require only a few lines. (and also does not seem to work right with DSA switches, but that is probably a separate issue). https://github.com/openwrt/packages/issues/16779

I'd personally recommend to stay away from the netifd/proto subsystem and just do everything in the init script/UCI, then for the luci-app-nebula just add buttons in Luci to restart service or reload config, like also the luci-app-openvpn does.