Changeset 21655


Ignore:
Timestamp:
2010-06-02T02:22:13+02:00 (8 years ago)
Author:
jow
Message:

[package] base-files:

  • add aliases to device by default (not ifname)
  • introduce option "layer" to select the target ifname to attach the alias to:
    • 3 use tun device (tun over bridge over device) fallback to bridge or device
    • 2 use bridge (bridge over device) fallback to device
    • 1 use device
Location:
trunk/package/base-files/files
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/base-files/files/etc/hotplug.d/iface/10-routes

    r21652 r21655  
    9494        ifdown) 
    9595                # Bring down named aliases 
     96                local device=$(uci_get_state network "$INTERFACE" device) 
    9697                local ifn 
    97                 for ifn in $(ifconfig | sed -ne "s/^\($DEVICE:[^[:space:]]\+\).*/\1/p"); do 
     98                for ifn in $(ifconfig | sed -ne "s/^\(\($DEVICE${device:+\|$device}\|br-$INTERFACE\):[^[:space:]]\+\).*/\1/p"); do 
    9899                        ifconfig "$ifn" down 
    99100                done 
  • trunk/package/base-files/files/lib/network/config.sh

    r21652 r21655  
    247247        [ "$parent" == "$cfg" ] || return 0 
    248248 
     249        # parent device and ifname 
     250        local p_device p_type 
     251        config_get p_device "$cfg" device 
     252        config_get p_type   "$cfg" type 
     253 
     254        # select alias ifname 
     255        local layer use_iface 
     256        config_get layer "$config" layer 2 
     257        case "$layer:$p_type" in 
     258                # layer 3: e.g. pppoe-wan or pptp-vpn 
     259                3:*)      use_iface="$iface" ;; 
     260 
     261                # layer 2 and parent is bridge: e.g. br-wan 
     262                2:bridge) use_iface="br-$cfg" ;; 
     263 
     264                # layer 1: e.g. eth0 or ath0 
     265                *)        use_iface="$p_device" ;; 
     266        esac 
     267 
    249268        # alias counter 
    250269        local ctr 
     
    259278        config_set "$parent" aliases "$list" 
    260279 
    261         iface="$iface:$ctr" 
    262         set_interface_ifname "$config" "$iface" 
     280        use_iface="$use_iface:$ctr" 
     281        set_interface_ifname "$config" "$use_iface" 
    263282 
    264283        local proto 
     
    266285        case "${proto}" in 
    267286                static) 
    268                         setup_interface_static "$iface" "$config" 
     287                        setup_interface_static "$use_iface" "$config" 
    269288                ;; 
    270289                *) 
Note: See TracChangeset for help on using the changeset viewer.