fff-babel: Make implementation runtime switchable #201

Closed
fbl wants to merge 3 commits from fbl/firmware:bird2-select into master
Owner

Some users might want to prefer one babel implementation over another
for various reasons. Having to compile the firmware from scratch can be
quite tedious in that case.

Instead, make the babel implementation switchable at runtime.

Currently, the implementation has to be switched manually in
/lib/functions/fff/babel, which is not upgrade-safe. Also, the previous
implementation is currently not restored after test-mode, so switching
implementations should not be done with test-mode.

Some users might want to prefer one babel implementation over another for various reasons. Having to compile the firmware from scratch can be quite tedious in that case. Instead, make the babel implementation switchable at runtime. Currently, the implementation has to be switched manually in /lib/functions/fff/babel, which is not upgrade-safe. Also, the previous implementation is currently not restored after test-mode, so switching implementations should not be done with test-mode.
fbl added this to the 20220405-beta milestone 2022-01-05 14:39:20 +01:00
fbl added the
feature
layer3
labels 2022-01-05 14:39:20 +01:00
fbl self-assigned this 2022-01-05 14:39:20 +01:00
fbl added 3 commits 2022-01-05 14:39:20 +01:00
ccc4bf823c Add support for different babel implementations
To be able to swap out babeld for a different babel implementation in
the future, this splits all fff-specific configuration into a seperate
fff-babel package.

Implementation specific configuration is done in
/lib/functions/fff/babeldaemon, which is included with every selectable
babel implementation. It contains functions, which are called by the
fff-specific code, and therefore allows to configure the implementation
specific parts.

The babel implementation is provided by implementation-specific
fff-packages, which provide 'fff-babel-implementation'. At the moment,
only fff-babeld is supported for use as babel implementation.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
b7829d789a Add bird2 as selectable babel implementation
Bird 2 has a few advantages over babeld. Especially the possiblity to
dynamically reload the configuration without restarting the daemon and
birds significant performance advantage make it an interesting
alternative to babeld for our firmware.

This adds the necessary implementation-specific fff-babel-bird2 package,
which allows to integrate bird2 into the fff firmware.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
bdcaa1c285 fff-babel: Make implementation runtime switchable
Some users might want to prefer one babel implementation over another
for various reasons. Having to compile the firmware from scratch can be
quite tedious in that case.

Instead, make the babel implementation switchable at runtime.

Currently, the implementation has to be switched manually in
/lib/functions/fff/babel, which is not upgrade-safe. Also, the previous
implementation is currently not restored after test-mode, so switching
implementations should not be done with test-mode.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
fbl added a new dependency 2022-01-05 14:39:38 +01:00
Author
Owner

Das Problem mit dem test-mode lässt sich vermutlich am einfachsten beheben, wenn man die implementation in einem uci setting speichert. Ebenso das persistieren dieser Einstellung, allerdings bin ich mir nicht sicher, ob ich letzteres haben möchte.

Das Problem mit dem test-mode lässt sich vermutlich am einfachsten beheben, wenn man die implementation in einem uci setting speichert. Ebenso das persistieren dieser Einstellung, allerdings bin ich mir nicht sicher, ob ich letzteres haben möchte.
fbl changed title from fff-babel: Make implementation runtime switchable to Add bird2 as an alternative babel implementation 2022-03-06 19:20:23 +01:00
fbl changed title from Add bird2 as an alternative babel implementation to fff-babel: Make implementation runtime switchable 2022-03-06 19:21:01 +01:00
Author
Owner

Closed in favor of #121

Closed in favor of #121
fbl removed a dependency 2022-03-07 20:15:42 +01:00
fbl closed this pull request 2022-03-07 20:15:46 +01:00

Pull request closed

Sign in to join this conversation.
No description provided.