Changeset 24194


Ignore:
Timestamp:
2010-11-30T01:46:21+01:00 (7 years ago)
Author:
jow
Message:

[package] base-files: disable ipv6 on bridge ports, this prevents stray RA assigned and link local addresses on bridge member devices

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/base-files/files/lib/network/config.sh

    r24020 r24194  
    33 
    44# DEBUG="echo" 
     5 
     6do_sysctl() { 
     7        [ -n "$2" ] && \ 
     8                sysctl -n -e -w "$1=$2" >/dev/null || \ 
     9                sysctl -n -e "$1" 
     10} 
    511 
    612find_config() { 
     
    165171                        config_get macaddr "$config" macaddr 
    166172                        [ -x /usr/sbin/brctl ] && { 
    167                                 # Remove IPv6 link local addr before adding the iface to the bridge 
    168                                 local llv6="$(ifconfig "$iface")" 
    169                                 case "$llv6" in 
    170                                         *fe80:*/64*) 
    171                                                 llv6="${llv6#* fe80:}" 
    172                                                 ifconfig "$iface" del "fe80:${llv6%% *}" 
    173                                         ;; 
    174                                 esac 
     173                                # Disable IPv6 for bridge ports 
     174                                do_sysctl net.ipv6.conf.$iface.disable_ipv6 1 
     175                                [ "${iface##wlan}" != "$iface" ] && \ 
     176                                        do_sysctl net.ipv6.conf.mon.$iface.disable_ipv6 1 
    175177 
    176178                                ifconfig "br-$config" 2>/dev/null >/dev/null && { 
     
    412414                for brdev in $(brctl show | awk '$2 ~ /^[0-9].*\./ { print $1 }'); do 
    413415                        brctl delif "$brdev" "$dev" 2>/dev/null >/dev/null 
     416                        do_sysctl net.ipv6.conf.$dev.disable_ipv6 0 
     417                        [ "${dev##wlan}" != "$dev" ] && \ 
     418                                do_sysctl net.ipv6.conf.mon.$dev.disable_ipv6 0 
    414419                done 
    415420        } 
Note: See TracChangeset for help on using the changeset viewer.