Add bird2 as an alternative babel implementation #121
|
@ -1,5 +1,9 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
babel_get_version() {
|
||||
/usr/sbin/bird --version 2>&1 | sed "s/BIRD version /bird-/"
|
||||
}
|
||||
|
||||
babel_add_interface() {
|
||||
[ "$#" -ne "4" ] && return 1
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
babel_get_version() {
|
||||
/usr/sbin/babeld -V 2>&1
|
||||
}
|
||||
|
||||
babel_add_interface() {
|
||||
[ "$#" -ne "4" ] && return 1
|
||||
|
||||
|
|
|
@ -74,10 +74,12 @@ if [ -x /usr/bin/fastd ]; then
|
|||
SYSTEM_DATA="$SYSTEM_DATA<fastd_version>$(/usr/bin/fastd -v | awk '{ print $2 }')</fastd_version>"
|
||||
fi
|
||||
|
||||
if [ -x /usr/sbin/babeld ]; then
|
||||
SYSTEM_DATA="$SYSTEM_DATA<babel_version>$(/usr/sbin/babeld -V 2>&1)</babel_version>"
|
||||
elif [ -x /usr/sbin/bird ]; then
|
||||
SYSTEM_DATA="$SYSTEM_DATA<babel_version>$(/usr/sbin/bird --version 2>&1 | sed "s/BIRD version /bird-/")</babel_version>"
|
||||
if [ -e /lib/functions/fff/babel ]; then
|
||||
. /lib/functions/fff/babel
|
||||
babel_version=$(babel_get_version)
|
||||
if [ $? -eq 0 ]; then
|
||||
fbl marked this conversation as resolved
Outdated
|
||||
SYSTEM_DATA="$SYSTEM_DATA<babel_version>$babel_version</babel_version>"
|
||||
fi
|
||||
fi
|
||||
|
||||
# example for /etc/openwrt_release:
|
||||
|
|
Loading…
Reference in New Issue
Wenn ich das richtig verstehe, sind im fertigen Build beide Implementationen vorhanden oder? D.h. hier würden beide Versionen geschickt werden?
Zweiteres ist ein "elif", daher wird nur eins von beiden geschickt. Man müsste das eigentlich noch vom aktuellen config-Zustand abhängig machen. Ich würde das dann stattdessen vom babelimpl.impl.impl UCI-setting abhängig machen.
klingt sinnvoll es von babelimpl.impl.impl UCI-setting zu machen, ja
erledigt. Ganz sauber ist das eigentlich nicht, da das bereits wechselt bevor configure-layer3 ausgeführt wurde. Aber da es nur Statusdaten sind, ist es mir die aufwändigere Unterscheidung nicht Wert.