batman-adv: Fix "aggregated_ogms" setting
[lede-routing/.git] / batman-adv / files / lib / batman-adv / config.sh
1 #!/bin/sh
2
3 bat_load_module()
4 {
5         [ -d "/sys/module/batman_adv/" ] && return
6
7         . /lib/functions.sh
8         load_modules /etc/modules.d/*-crc16 /etc/modules.d/*-crypto* /etc/modules.d/*-lib-crc* /etc/modules.d/*-batman-adv*
9 }
10
11 bat_config()
12 {
13         local mesh="$1"
14         local aggregated_ogms ap_isolation bonding bridge_loop_avoidance distributed_arp_table fragmentation
15         local gw_bandwidth gw_mode gw_sel_class isolation_mark hop_penalty multicast_mode network_coding log_level
16         local orig_interval vis_mode
17
18         config_get aggregated_ogms "$mesh" aggregated_ogms
19         config_get ap_isolation "$mesh" ap_isolation
20         config_get bonding "$mesh" bonding
21         config_get bridge_loop_avoidance "$mesh" bridge_loop_avoidance
22         config_get distributed_arp_table "$mesh" distributed_arp_table
23         config_get fragmentation "$mesh" fragmentation
24         config_get gw_bandwidth "$mesh" gw_bandwidth
25         config_get gw_mode "$mesh" gw_mode
26         config_get gw_sel_class "$mesh" gw_sel_class
27         config_get hop_penalty "$mesh" hop_penalty
28         config_get isolation_mark "$mesh" isolation_mark
29         config_get multicast_mode "$mesh" multicast_mode
30         config_get network_coding "$mesh" network_coding
31         config_get log_level "$mesh" log_level
32         config_get orig_interval "$mesh" orig_interval
33         config_get vis_mode "$mesh" vis_mode
34
35         [ ! -f "/sys/class/net/$mesh/mesh/orig_interval" ] && echo "batman-adv mesh $mesh does not exist - check your interface configuration" && return 1
36
37         [ -n "$aggregated_ogms" ] && echo $aggregated_ogms > /sys/class/net/$mesh/mesh/aggregated_ogms
38         [ -n "$ap_isolation" ] && echo $ap_isolation > /sys/class/net/$mesh/mesh/ap_isolation
39         [ -n "$bonding" ] && echo $bonding > /sys/class/net/$mesh/mesh/bonding
40         [ -n "$bridge_loop_avoidance" ] && echo $bridge_loop_avoidance > /sys/class/net/$mesh/mesh/bridge_loop_avoidance 2>&-
41         [ -n "$distributed_arp_table" ] && echo $distributed_arp_table > /sys/class/net/$mesh/mesh/distributed_arp_table 2>&-
42         [ -n "$fragmentation" ] && echo $fragmentation > /sys/class/net/$mesh/mesh/fragmentation
43         [ -n "$gw_bandwidth" ] && echo $gw_bandwidth > /sys/class/net/$mesh/mesh/gw_bandwidth
44         [ -n "$gw_mode" ] && echo $gw_mode > /sys/class/net/$mesh/mesh/gw_mode
45         [ -n "$gw_sel_class" ] && echo $gw_sel_class > /sys/class/net/$mesh/mesh/gw_sel_class
46         [ -n "$hop_penalty" ] && echo $hop_penalty > /sys/class/net/$mesh/mesh/hop_penalty
47         [ -n "$isolation_mark" ] && echo $isolation_mark > /sys/class/net/$mesh/mesh/isolation_mark
48         [ -n "$multicast_mode" ] && echo $multicast_mode > /sys/class/net/$mesh/mesh/multicast_mode 2>&-
49         [ -n "$network_coding" ] && echo $network_coding > /sys/class/net/$mesh/mesh/network_coding 2>&-
50         [ -n "$log_level" ] && echo $log_level > /sys/class/net/$mesh/mesh/log_level 2>&-
51         [ -n "$orig_interval" ] && echo $orig_interval > /sys/class/net/$mesh/mesh/orig_interval
52         [ -n "$vis_mode" ] && echo $vis_mode > /sys/class/net/$mesh/mesh/vis_mode
53 }