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_boolean
'multicast_mode:bool'
26 proto_config_add_boolean
'network_coding:bool'
27 proto_config_add_int
'orig_interval'
28 proto_config_add_string
'routing_algo'
31 proto_batadv_setup
() {
38 local bridge_loop_avoidance
39 local distributed_arp_table
52 json_get_vars aggregated_ogms
53 json_get_vars ap_isolation
55 json_get_vars bridge_loop_avoidance
56 json_get_vars distributed_arp_table
57 json_get_vars fragmentation
58 json_get_vars gw_bandwidth
60 json_get_vars gw_sel_class
61 json_get_vars hop_penalty
62 json_get_vars isolation_mark
63 json_get_vars log_level
64 json_get_vars multicast_mode
65 json_get_vars network_coding
66 json_get_vars orig_interval
67 json_get_vars routing_algo
69 set_default routing_algo
'BATMAN_IV'
71 batctl routing_algo
"$routing_algo"
72 batctl
-m "$iface" interface create
74 [ -n "$aggregated_ogms" ] && batctl
-m "$iface" aggregation
"$aggregated_ogms"
75 [ -n "$ap_isolation" ] && batctl
-m "$iface" ap_isolation
"$ap_isolation"
76 [ -n "$bonding" ] && batctl
-m "$iface" bonding
"$bonding"
77 [ -n "$bridge_loop_avoidance" ] && batctl
-m "$iface" bridge_loop_avoidance
"$bridge_loop_avoidance" 2>&-
78 [ -n "$distributed_arp_table" ] && batctl
-m "$iface" distributed_arp_table
"$distributed_arp_table" 2>&-
79 [ -n "$fragmentation" ] && batctl
-m "$iface" fragmentation
"$fragmentation"
83 if [ -n "$gw_bandwidth" ]; then
84 batctl
-m "$iface" gw_mode
"server" "$gw_bandwidth"
86 batctl
-m "$iface" gw_mode
"server"
90 if [ -n "$gw_sel_class" ]; then
91 batctl
-m "$iface" gw_mode
"client" "$gw_sel_class"
93 batctl
-m "$iface" gw_mode
"client"
97 batctl
-m "$iface" gw_mode
"off"
101 [ -n "$hop_penalty" ] && batctl
-m "$iface" hop_penalty
"$hop_penalty"
102 [ -n "$isolation_mark" ] && batctl
-m "$iface" isolation_mark
"$isolation_mark"
103 [ -n "$multicast_mode" ] && batctl
-m "$iface" multicast_mode
"$multicast_mode" 2>&-
104 [ -n "$network_coding" ] && batctl
-m "$iface" network_coding
"$network_coding" 2>&-
105 [ -n "$log_level" ] && batctl
-m "$iface" loglevel
"$log_level" 2>&-
106 [ -n "$orig_interval" ] && batctl
-m "$iface" orig_interval
"$orig_interval"
108 proto_init_update
"$iface" 1
109 proto_send_update
"$config"
112 proto_batadv_teardown
() {
114 local iface
="$config"
116 batctl
-m "$iface" interface destroy