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:
parent
5df86557fa
commit
b35a2f62ca
@ -42,10 +42,16 @@ proto_gluon_bat0_setup() {
|
|||||||
echo 1 > /proc/sys/net/ipv6/conf/primary0/disable_ipv6
|
echo 1 > /proc/sys/net/ipv6/conf/primary0/disable_ipv6
|
||||||
ip link set primary0 address "$primary0_mac" mtu 1532 up
|
ip link set primary0 address "$primary0_mac" mtu 1532 up
|
||||||
|
|
||||||
local routing_algo="$(uci -q get batman-adv.bat0.routing_algo || echo 'BATMAN_IV')"
|
local routing_algo="$(lua -e 'print(require("gluon.site").mesh.batman_adv.routing_algo())' || echo 'BATMAN_IV')"
|
||||||
(echo "$routing_algo" >/sys/module/batman_adv/parameters/routing_algo) 2>/dev/null
|
|
||||||
|
|
||||||
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_init_update primary0 1
|
||||||
proto_send_update "$config"
|
proto_send_update "$config"
|
||||||
@ -58,6 +64,8 @@ proto_gluon_bat0_teardown() {
|
|||||||
|
|
||||||
ip link del bat0
|
ip link del bat0
|
||||||
ip link del primary0
|
ip link del primary0
|
||||||
|
|
||||||
|
rmmod batman-adv
|
||||||
}
|
}
|
||||||
|
|
||||||
add_protocol gluon_bat0
|
add_protocol gluon_bat0
|
||||||
|
Loading…
Reference in New Issue
Block a user