Root/package/network/ipv6/ipv6-support/files/dhcpv6.sh

1#!/bin/sh
2# Copyright (c) 2012 OpenWrt.org
3. /lib/ipv6/support.sh
4. /lib/netifd/netifd-proto.sh
5
6local device="$1"
7local state="$2"
8local network=""
9
10resolve_network network "$device"
11
12# Unknown network
13[ -z "$network" ] && exit 0
14
15
16# Announce prefixes
17for prefix in $PREFIXES; do
18    announce_prefix "$prefix" "$network" "$device"
19done
20
21for prefix in $PREFIXES_LOST; do
22    announce_prefix "$prefix" "$network" "$device" delprefix
23done
24
25
26# Enable relaying if requested
27local fallback="stop"
28[ -z "$PREFIXES" -a "$state" != "unbound" ] && fallback="start"
29setup_prefix_fallback "$fallback" "$network" "$device"
30
31
32# Operations in case of success
33[ "$state" == "timeout" || "$state" == "unbound" ] && exit 0
34
35local peerdns
36config_get_bool peerdns "$network" peerdns 0
37[ "$peerdns" -eq "1" ] && {
38    proto_init_update "*" 1
39    proto_set_keep 1
40    for server in $RDNSS; do
41        proto_add_dns_server "$server"
42    done
43    for domain in $DOMAINS; do
44        proto_add_dns_search "$domain"
45    done
46    proto_send_update "$network"
47}
48
49

Archive Download this file



interactive