Changeset 38294


Ignore:
Timestamp:
2013-10-03T01:22:18+02:00 (4 years ago)
Author:
hauke
Message:

brcm47xx: add support for ipv6 in default network config

Modify /etc/init.d/netconfig to use UCI defaults for building the
default network config, which includes appropriate defaults for IPV6.

Signed-off-by: Nathan Hintz <nlhintz@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm47xx/base-files/etc/init.d/netconfig

    r37304 r38294  
    4444        mkdir -p /etc/config 
    4545 
    46         ( 
     46        local cpuport=5 
     47        [ -e /sbin/swconfig ] && cpuport=$(swconfig dev switch0 help 2>/dev/null | sed -ne "s|.*cpu @ \([0-9]*\).*|\1|p") 
     48 
     49        local network_defs=`( 
    4750                if grep -E 'mtd0: 000(6|a)0000' /proc/mtd 2>&- >&-; then 
    4851                        # WGT634u 
     
    5154                        strings "$(find_mtd_part nvram)" 
    5255                fi 
    53         ) | awk ' 
    54         function p(cfgname, name) { 
    55                 if (c[name] != "") print "      option " cfgname "      \"" c[name] "\"" 
    56         } 
    57  
    58         function vlan(id, name) { 
    59                 if (c[name] != "") { 
    60                         print "config switch_vlan eth0_" id 
    61                         print " option device   \"eth0\"" 
    62                         print " option vlan     " id 
    63                         print " option ports    \"" c[name] "\"" 
    64                         print "" 
    65                 } 
    66         } 
    67  
     56        ) | awk -v cpuport="$cpuport" ' 
    6857        function macinc(mac, maca, i, result) { 
    6958                split(mac, maca, ":") 
     
    9281                        mac_check = mac_check "[0-9a-fA-F][0-9a-fA-F]" 
    9382                } 
    94                 if (system("[ -d /proc/switch/eth0 ] ") == 0) { 
    95                         getline cpuport < "/proc/switch/eth0/cpuport" 
    96                 } 
    97                 if (system("command -v swconfig > /dev/null") == 0) { 
    98                         "swconfig dev switch0 help \| sed -ne \"s\|.*cpu @ \\([0-9]*\\).*\|\\1\|p\"" | getline cpuport 
    99                 } 
    10083                if (cpuport == "8") { 
    10184                        c["vlan1ports"]="1 2 3 4 8t" 
     
    226209                        c["vlan2ports"] = "" 
    227210                } 
    228  
    229                 if (c["vlan1ports"] || c["vlan2ports"]) { 
    230                         print "#### VLAN configuration " 
    231                         print "config switch eth0" 
    232                         print " option enable   1" 
    233                         print "" 
    234                         vlan(1, "vlan1ports") 
    235                         vlan(2, "vlan2ports") 
    236                 } 
    237                 print "#### Loopback configuration" 
    238                 print "config interface loopback" 
    239                 print " option ifname   \"lo\"" 
    240                 print " option proto    static" 
    241                 print " option ipaddr   127.0.0.1" 
    242                 print " option netmask  255.0.0.0" 
    243                 print "" 
    244                 print "" 
    245                 print "#### LAN configuration" 
    246                 print "config interface lan" 
    247                 print " option type     bridge" 
    248                 p("ifname", "lan_ifname") 
    249                 p("macaddr", "lan_macaddr") 
    250                 print " option proto    static" 
    251                 print " option ipaddr   192.168.1.1" 
    252                 print " option netmask  255.255.255.0" 
    253                 print "" 
    254                 print "" 
    255                 if (c["wan_ifname"]) { 
    256                         print "#### WAN configuration" 
    257                         print "config interface wan" 
    258                         p("ifname", "wan_ifname") 
    259                         p("macaddr", "wan_macaddr") 
    260                         print " option proto    dhcp" 
    261                 } else { 
    262                         print "#### WAN configuration (disabled)" 
    263                         print "#config interface wan" 
    264                         print "#        option proto    dhcp" 
    265                 } 
    266         }' > /etc/config/network 
     211                print "local vlan1ports=\"" c["vlan1ports"] "\";" 
     212                print "local vlan2ports=\"" c["vlan2ports"] "\";" 
     213                print "local lan_ifname=\"" c["lan_ifname"] "\";" 
     214                print "local lan_macaddr=\"" c["lan_macaddr"] "\";" 
     215                print "local wan_ifname=\"" c["wan_ifname"] "\";" 
     216                print "local wan_macaddr=\"" c["wan_macaddr"] "\";" 
     217        }'` 
     218 
     219        . /lib/functions/uci-defaults.sh 
     220 
     221        touch /etc/config/network 
     222 
     223        eval "$network_defs" 
     224 
     225        [ -n "$vlan1ports" -o -n "$vlan2ports" ] && { 
     226                local cfg=`ucidef_add_switch "switch0" 1 1` 
     227                [ -n "$cfg" ] && uci rename network.$cfg=eth0 
     228                [ -n "$vlan1ports" ] && { 
     229                        cfg=`ucidef_add_switch_vlan "switch0" 1 "$vlan1ports"` 
     230                        [ -n "$cfg" ] && uci rename network.$cfg=eth0_1 
     231                } 
     232                [ -n "$vlan2ports" ] && { 
     233                        cfg=`ucidef_add_switch_vlan "switch0" 2 "$vlan2ports"` 
     234                        [ -n "$cfg" ] && uci rename network.$cfg=eth0_2 
     235                } 
     236        } 
     237 
     238        ucidef_set_interface_loopback 
     239 
     240        ucidef_set_interface_lan "$lan_ifname" 
     241        [ -n "$lan_macaddr" ] && ucidef_set_interface_macaddr lan "$lan_macaddr" 
     242 
     243        [ -n "$wan_ifname" ] && { 
     244                ucidef_set_interface_wan "$wan_ifname" 
     245                [ -n "$wan_macaddr" ] && ucidef_set_interface_macaddr wan "$wan_macaddr" 
     246        } 
     247 
     248        uci commit network 
    267249} 
Note: See TracChangeset for help on using the changeset viewer.