Ticket #196: patch

File patch, 2.4 KB (added by www.google.com/accounts/o8/id?id=aitoawnh2okxv32sfxrvgu5hpehl3r0ldwasn5s, 12 months ago)
  • init.d/network.in

    From 8671f5558ebb5f3cf5530a364675afd9ab4fc869 Mon Sep 17 00:00:00 2001
    From: Daniel Mierswa <impulze@impulze.org>
    Date: Mon, 31 Aug 2009 00:46:12 +0200
    Subject: [PATCH] use iproute2 if available
    
    
    Signed-off-by: Daniel Mierswa <impulze@impulze.org>
    ---
     init.d/network.in |   37 ++++++++++++++++++++++++++++---------
     1 files changed, 28 insertions(+), 9 deletions(-)
    
    diff --git a/init.d/network.in b/init.d/network.in
    index 8b02ac4..13d0ffb 100644
    a b sys_interfaces() 
    4646                        i=${w%%:*} 
    4747                        [ "$i" != "$w" ] || continue 
    4848                        if [ "$cmd" = u ]; then 
    49                                 ifconfig "$i" | grep -q "[ ]*UP" || continue 
     49                                if [ -x /sbin/ip ] ; then 
     50                                        ip link show "$i" | grep -q "[<,]UP[,>]" || continue 
     51                                else 
     52                                        ifconfig "$i" | grep -q "[ ]*UP" || continue 
     53                                fi 
    5054                        fi 
    5155                        printf "%s " "$i" 
    5256                done </proc/net/dev 
    start() 
    168172        einfo "Starting network" 
    169173        routeflush 
    170174        if [ "$RC_UNAME" = "Linux" ]; then 
    171                 ifconfig lo 127.0.0.1 netmask 255.0.0.0 || cr=1  
    172                 route add -net 127.0.0.0 netmask 255.0.0.0 \ 
    173                         gw 127.0.0.1 2>/dev/null 
    174                 route add -net 127.0.0.0 netmask 255.0.0.0 \ 
    175                         gw 127.0.0.1 reject 2>/dev/null 
     175                if [ -x /sbin/ip ] ; then 
     176                        ip address add 127.0.0.1/8 dev lo broadcast + && \ 
     177                        ip link set lo up && \ 
     178                        ip route append prohibit 127.0.0.0/8 && \ 
     179                        ip route append 127.0.0.0/8 via 127.0.0.1 || cr=1 
     180                else 
     181                        ifconfig lo 127.0.0.1 netmask 255.0.0.0 && \ 
     182                        route add -net 127.0.0.0 netmask 255.0.0.0 \ 
     183                                gw 127.0.0.1 2>/dev/null && \ 
     184                        route add -net 127.0.0.0 netmask 255.0.0.0 \ 
     185                                gw 127.0.0.1 reject 2>/dev/null || cr=1 
     186                fi 
    176187        else 
    177188                ifconfig lo0 127.0.0.1 netmask 255.0.0.0 || cr=1 
    178189                route -q add -inet 127.0.0.0 -netmask 255.0.0.0 \ 
    start() 
    226237        if [ -n "$defaultroute" ]; then 
    227238                ebegin "Setting default route $defaultroute" 
    228239                if [ "$RC_UNAME" = Linux ]; then 
    229                         route add default gw $defaultroute 
     240                        if [ -x /sbin/ip ] ; then 
     241                                ip route add default via $defaultroute 
     242                        else 
     243                                route add default gw $defaultroute 
     244                        fi 
    230245                else 
    231246                        route add default $defaultroute 
    232247                fi 
    stop() 
    258273                then 
    259274                        veinfo "$int" 
    260275                        runargs /etc/ifdown."$int" "$downcmd" 
    261                         ifconfig "$int" down 2>/dev/null 
    262                         ifconfig "$int" destroy 2>/dev/null 
     276                        if [ -x /sbin/ip ] ; then 
     277                                ip link set "$int" down 
     278                        else 
     279                                ifconfig "$int" down 2>/dev/null 
     280                                ifconfig "$int" destroy 2>/dev/null 
     281                        fi 
    263282                fi 
    264283        done 
    265284        eoutdent