Date:2012-12-27 15:10:17 (11 years 3 months ago)
Author:cyrus
Commit:9b62f5ffbad9d889cc4d148b78f694578fbee27f
Message:ipv6-support: * Automatically detect and propagate MTU from upstream interfaces * Add site-border feature (RFC 6204, ULA-4) * Fix a typo

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34896 3c298f89-4303-0410-b956-a3cf2f4a3e73
Files: package/network/ipv6/ipv6-support/Makefile (1 diff)
package/network/ipv6/ipv6-support/files/dhcpv6.sh (1 diff)
package/network/ipv6/ipv6-support/files/network6.config (1 diff)
package/network/ipv6/ipv6-support/files/support.sh (8 diffs)

Change Details

package/network/ipv6/ipv6-support/Makefile
88include $(TOPDIR)/rules.mk
99
1010PKG_NAME:=ipv6-support
11PKG_VERSION:=2012-12-23
11PKG_VERSION:=2012-12-27
1212PKG_RELEASE:=1
1313
1414include $(INCLUDE_DIR)/package.mk
package/network/ipv6/ipv6-support/files/dhcpv6.sh
1515
1616# Announce prefixes
1717for prefix in $PREFIXES; do
18    announce_prefix "$prefix" "$network"
18    announce_prefix "$prefix" "$network" "$device"
1919done
2020
2121for prefix in $PREFIXES_LOST; do
22    announce_prefix "$prefix" "$network" delprefix
22    announce_prefix "$prefix" "$network" "$device" delprefix
2323done
2424
2525
package/network/ipv6/ipv6-support/files/network6.config
11config global global
22    option ula_prefix auto
3    option site_border 1
34
45config interface wan
56    option mode dhcpv6
package/network/ipv6/ipv6-support/files/support.sh
1111    local __return="$1"
1212    local __device="$2"
1313    local __option="$3"
14    local __value=$(cat "/proc/sys/net/ipv6/conf/$device/$option")
14    local __value=$(cat "/proc/sys/net/ipv6/conf/$__device/$__option")
1515    eval "$__return=$__value"
1616}
1717
...... 
110110announce_prefix() {
111111    local prefix="$1"
112112    local network="$2"
113    local cmd="$3"
114    local type="$4"
113    local device="$3"
114    local cmd="$4"
115    local type="$5"
115116
116117    local addr=$(echo "$prefix" | cut -d/ -f1)
117118    local rem=$(echo "$prefix" | cut -d/ -f2)
...... 
142143
143144        [ "$prefix_action" == "npt" ] && msg="$msg"', "npt": 1'
144145        [ "$type" == "secondary" ] && msg="$msg"', "secondary": 1'
146
147        # Detect MTU
148        local mtu
149        conf_get mtu "$device" mtu
150        msg="$msg"', "mtu": '"$mtu"
151
145152        ubus call 6distributed "$cmd" "$msg}"
146153    }
147154
...... 
364371enable_ula_prefix() {
365372    local network="$1"
366373    local ula="$2"
374    local device="$3"
367375    [ -z "$ula" ] && ula="global"
368376
369377    # ULA-integration
...... 
392400    }
393401
394402    # Announce ULA
395    [ -n "$ula_prefix" ] && announce_prefix "$ula_prefix" "$network" newprefix secondary
403    [ -n "$ula_prefix" ] && announce_prefix "$ula_prefix" "$network" "$device" newprefix secondary
396404}
397405
398406
...... 
410418    conf_set "$device" forwarding 1
411419
412420    # Enable ULA
413    enable_ula_prefix "$network"
421    enable_ula_prefix "$network" global "$device"
414422    # Compatibility (deprecated)
415    enable_ula_prefix "$network" "$network"
423    enable_ula_prefix "$network" "$network" "$device"
416424
417425    # Announce all static prefixes
418    config_list_foreach "$network" static_prefix announce_prefix $network
426    config_list_foreach "$network" static_prefix announce_prefix "$network" "$device"
419427
420428    # start relay if there are forced relay members
421429    restart_relay "$network"
...... 
506514    local prefix=""
507515    network_get_ipaddr6 prefix "$network"
508516
509    announce_prefix "$prefix/$prefixlen" "$network"
517    announce_prefix "$prefix/$prefixlen" "$network" "$device"
510518}
511519
512520
...... 
529537    [ "$mode" == "router" ] && enable_router "$network" "$device"
530538    [ "$mode" == "6to4" -o "$mode" == "6rd" ] && enable_6to4 "$network" "$device" "$mode"
531539    [ "$mode" == "relay" ] && restart_master_relay "$network" forced
540
541    # Create / Delete site border
542    local site_border
543    local cmd="delulaborder"
544    config_get_bool site_border global site_border 0
545    [ "$site_border" == "1" ] && cmd="newulaborder"
546    ubus call 6distributed "$cmd"
532547}

Archive Download the corresponding diff file



interactive