2 # Copyright (c) 2012 OpenWrt.org
4 .
/lib
/netifd
/netifd-proto.sh
10 resolve_network network
"$device"
13 [ -z "$network" ] && exit 0
15 if [ "$state" == "started" ]; then
17 set_forward_border
"$network" "$device" enable
20 conf_set
"$device" accept_ra
2
21 conf_set
"$device" forwarding
2
24 conf_set
"$device" disable_ipv6
1
25 conf_set
"$device" disable_ipv6
0
28 elif [ "$state" == "stopped" ]; then
30 conf_set
"$device" accept_ra
1
31 conf_set
"$device" forwarding
1
34 set_forward_border
"$network" "$device" disable
40 for prefix
in $PREFIXES; do
41 announce_prefix
"$prefix" "$network" "$device"
44 for prefix
in $PREFIXES_LOST; do
45 announce_prefix
"$prefix" "$network" "$device" delprefix
49 # Enable relaying if requested and we didn't get a prefix, disable otherwise
51 [ -z "$PREFIXES" -a "$state" != "unbound" ] && fallback
="start"
52 setup_prefix_fallback
"$fallback" "$network" "$device"
55 # Operations in case of success
56 [ "$state" == "timeout" -o "$state" == "unbound" ] && exit 0
58 # Handshake completed, disable forwarding border
59 set_forward_border
"$network" "$device" disable
62 config_get_bool peerdns
"$network" peerdns
1
63 [ "$peerdns" -eq "1" ] && {
64 proto_init_update
"*" 1
66 for server
in $RDNSS; do
67 proto_add_dns_server
"$server"
69 for domain
in $DOMAINS; do
70 proto_add_dns_search
"$domain"
72 proto_send_update
"$network"