Hi all,

this series contains support for loading dynamic modules (DSOs) that contain
additional functionality.  bgpd's SNMP support is the test target.

THIS IS AN UNFINISHED VERSION TO INVITE FEEDBACK.

In the "big picture", there are some very broad topics that are non-trivial,
first and foremost interaction of plugin's DEFUNs with config saving and
startup.  In the current version, the patchset only supports loading DSOs on
the command line, i.e. before config load.  That means all config works as
usual.  However, if you remove a module from startup parameters, leftover
config statements may result in startup failure.  Not sure if this is a real
problem...

FWIW, loading modules from the config wouldn't be much of a problem, as long
as the plugin-loading statements get pushed all the way to the top of the
config.  That way, they'd be loaded before their respective config blocks are
reached.

Also, after unloading a module, config writes wouldn't include its config
anymore.  The on-disk config file either has both the "load plugin" command
and the plugin's config (i.e. before-removal config), or would have neither
(as written out by a "write mem" after removing the module).

That said, I haven't implemented unloading (or uninstalling hooks) yet :)


Cheers,

-David


_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to