3 [ -n "$INCLUDE_ONLY" ] ||
{
9 proto_batadv_init_config
() {
13 proto_config_add_boolean
'aggregated_ogms:bool'
14 proto_config_add_boolean
'ap_isolation:bool'
15 proto_config_add_boolean
'bonding:bool'
16 proto_config_add_boolean
'bridge_loop_avoidance:bool'
17 proto_config_add_boolean
'distributed_arp_table:bool'
18 proto_config_add_boolean
'fragmentation:bool'
19 proto_config_add_string
'gw_bandwidth'
20 proto_config_add_string
'gw_mode'
21 proto_config_add_int
'gw_sel_class'
22 proto_config_add_int
'hop_penalty'
23 proto_config_add_string
'isolation_mark'
24 proto_config_add_string
'log_level'
25 proto_config_add_int
'multicast_fanout'
26 proto_config_add_boolean
'multicast_mode:bool'
27 proto_config_add_boolean
'network_coding:bool'
28 proto_config_add_int
'orig_interval'
29 proto_config_add_string
'routing_algo'
32 proto_batadv_setup
() {
39 local bridge_loop_avoidance
40 local distributed_arp_table
48 local multicast_fanout
54 json_get_vars aggregated_ogms
55 json_get_vars ap_isolation
57 json_get_vars bridge_loop_avoidance
58 json_get_vars distributed_arp_table
59 json_get_vars fragmentation
60 json_get_vars gw_bandwidth
62 json_get_vars gw_sel_class
63 json_get_vars hop_penalty
64 json_get_vars isolation_mark
65 json_get_vars log_level
66 json_get_vars multicast_fanout
67 json_get_vars multicast_mode
68 json_get_vars network_coding
69 json_get_vars orig_interval
70 json_get_vars routing_algo
72 set_default routing_algo
'BATMAN_IV'
74 batctl routing_algo
"$routing_algo"
75 batctl meshif
"$iface" interface create
77 [ -n "$aggregated_ogms" ] && batctl meshif
"$iface" aggregation
"$aggregated_ogms"
78 [ -n "$ap_isolation" ] && batctl meshif
"$iface" ap_isolation
"$ap_isolation"
79 [ -n "$bonding" ] && batctl meshif
"$iface" bonding
"$bonding"
80 [ -n "$bridge_loop_avoidance" ] && batctl meshif
"$iface" bridge_loop_avoidance
"$bridge_loop_avoidance" 2>&-
81 [ -n "$distributed_arp_table" ] && batctl meshif
"$iface" distributed_arp_table
"$distributed_arp_table" 2>&-
82 [ -n "$fragmentation" ] && batctl meshif
"$iface" fragmentation
"$fragmentation"
86 if [ -n "$gw_bandwidth" ]; then
87 batctl meshif
"$iface" gw_mode
"server" "$gw_bandwidth"
89 batctl meshif
"$iface" gw_mode
"server"
93 if [ -n "$gw_sel_class" ]; then
94 batctl meshif
"$iface" gw_mode
"client" "$gw_sel_class"
96 batctl meshif
"$iface" gw_mode
"client"
100 batctl meshif
"$iface" gw_mode
"off"
104 [ -n "$hop_penalty" ] && batctl meshif
"$iface" hop_penalty
"$hop_penalty"
105 [ -n "$isolation_mark" ] && batctl meshif
"$iface" isolation_mark
"$isolation_mark"
106 [ -n "$multicast_fanout" ] && batctl meshif
"$iface" multicast_fanout
"$multicast_fanout"
107 [ -n "$multicast_mode" ] && batctl meshif
"$iface" multicast_mode
"$multicast_mode" 2>&-
108 [ -n "$network_coding" ] && batctl meshif
"$iface" network_coding
"$network_coding" 2>&-
109 [ -n "$log_level" ] && batctl meshif
"$iface" loglevel
"$log_level" 2>&-
110 [ -n "$orig_interval" ] && batctl meshif
"$iface" orig_interval
"$orig_interval"
112 proto_init_update
"$iface" 1
113 proto_send_update
"$config"
116 proto_batadv_teardown
() {
118 local iface
="$config"
120 batctl meshif
"$iface" interface destroy