gluon-mesh-batman-adv: let gluon_bat0 netifd proto dynamically load module

The module autoload of batman-adv and batman-adv-legacy was removed. Instead
the gluon_bat0 netifd protocol script now takes care of loading either
the batman-adv or batman-adv-legacy kernel module depending on whether
BATMAN_IV/BATMAN_V or BATMAN_IV_LEGACY was selected.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
This commit is contained in:
Linus Lüssing 2019-07-27 07:40:28 +02:00
parent 5df86557fa
commit b35a2f62ca

View File

@ -42,10 +42,16 @@ proto_gluon_bat0_setup() {
echo 1 > /proc/sys/net/ipv6/conf/primary0/disable_ipv6
ip link set primary0 address "$primary0_mac" mtu 1532 up
local routing_algo="$(uci -q get batman-adv.bat0.routing_algo || echo 'BATMAN_IV')"
(echo "$routing_algo" >/sys/module/batman_adv/parameters/routing_algo) 2>/dev/null
local routing_algo="$(lua -e 'print(require("gluon.site").mesh.batman_adv.routing_algo())' || echo 'BATMAN_IV')"
echo bat0 > /sys/class/net/primary0/batman_adv/mesh_iface
if [ "$routing_algo" = "BATMAN_IV_LEGACY" ]; then
modprobe batman-adv-legacy
echo bat0 > /sys/class/net/primary0/batman_adv_legacy/mesh_iface
else
modprobe batman-adv
(echo "$routing_algo" >/sys/module/batman_adv/parameters/routing_algo) 2>/dev/null
echo bat0 > /sys/class/net/primary0/batman_adv/mesh_iface
fi
proto_init_update primary0 1
proto_send_update "$config"
@ -58,6 +64,8 @@ proto_gluon_bat0_teardown() {
ip link del bat0
ip link del primary0
rmmod batman-adv
}
add_protocol gluon_bat0