From: <abe...@us...> - 2013-04-27 18:20:10
|
Revision: 6057 http://sourceforge.net/p/astlinux/code/6057 Author: abelbeck Date: 2013-04-27 18:20:07 +0000 (Sat, 27 Apr 2013) Log Message: ----------- network, unify network configuration to use ip (iproute2) Modified Paths: -------------- branches/1.0/package/dahdi-tools/dahdi.init branches/1.0/project/astlinux/target_skeleton/etc/init.d/network branches/1.0/project/astlinux/target_skeleton/etc/udhcpc.script Modified: branches/1.0/package/dahdi-tools/dahdi.init =================================================================== --- branches/1.0/package/dahdi-tools/dahdi.init 2013-04-25 21:31:59 UTC (rev 6056) +++ branches/1.0/package/dahdi-tools/dahdi.init 2013-04-27 18:20:07 UTC (rev 6057) @@ -39,7 +39,7 @@ if [ "$HDLCLMI" -a "$HDLCDLCI" ]; then sethdlc hdlc0 fr lmi "$HDLCLMI" sethdlc hdlc0 create "$HDLCDLCI" - ifconfig hdlc0 up + ip link set dev hdlc0 up fi fi fi Modified: branches/1.0/project/astlinux/target_skeleton/etc/init.d/network =================================================================== --- branches/1.0/project/astlinux/target_skeleton/etc/init.d/network 2013-04-25 21:31:59 UTC (rev 6056) +++ branches/1.0/project/astlinux/target_skeleton/etc/init.d/network 2013-04-27 18:20:07 UTC (rev 6057) @@ -20,9 +20,9 @@ # initialize any values IFS=$'\n' for list in $ATM_PARAMS; do - type="`nthfield list ~ 1`" - tag="`nthfield list ~ 2`" - value="`nthfield list ~ 3`" + type="$(nthfield list ~ 1)" + tag="$(nthfield list ~ 2)" + value="$(nthfield list ~ 3)" case $type in solos) soloscli -s $CARD "$tag" "$value" @@ -43,7 +43,7 @@ br2684ctl -b -c "$CARD" -e 0 -p 1 -s 2040 -a "$CARD.$VPI.$VCI" - ifconfig "$IF" up + ip link set dev "$IF" up return 0 } @@ -70,13 +70,13 @@ case $type in 6in4-static) ip tunnel add ip6tun mode sit remote $remote_addr local $local_addr ttl 255 - ip link set ip6tun up + ip link set dev ip6tun up ip -6 addr add $endpoint_addr dev ip6tun ip -6 route add ::/0 dev ip6tun metric 1 ;; 6to4-relay) ip tunnel add ip6tun mode sit remote any local $local_addr ttl 255 - ip link set ip6tun up + ip link set dev ip6tun up ip -6 addr add $endpoint_addr dev ip6tun ip -6 route add ::/0 via ::192.88.99.1 dev ip6tun metric 1 ;; @@ -90,7 +90,7 @@ case $type in 6in4-static|6to4-relay) ip -6 route flush dev ip6tun - ip link set ip6tun down + ip link set dev ip6tun down ip tunnel del ip6tun ;; *) @@ -139,14 +139,14 @@ COUNT=10 for i in $IFRENAME; do - IF=`echo $i | cut -d: -f1` - DRIVER=`echo $i | cut -d: -f2` - ID=`echo $i | cut -d: -f3` + IF="$(echo $i | cut -d: -f1)" + DRIVER="$(echo $i | cut -d: -f2)" + ID="$(echo $i | cut -d: -f3)" - COUNT=`expr $COUNT - 1` + COUNT=$((COUNT-1)) if echo $ID | grep -q i; then - RID=`echo $ID | tr -d i` + RID="$(echo $ID | tr -d i)" echo "eth$COUNT driver $DRIVER interrupt $RID" >> /tmp/etc/iftab.init echo "$IF driver $DRIVER interrupt $RID" >> /tmp/etc/iftab fi @@ -154,21 +154,21 @@ done fi - if [ -r /etc/iftab.init ]; then + if [ -f /etc/iftab.init ]; then echo "Remapping interfaces (init)..." ifrename -c /etc/iftab.init fi - if [ -r /etc/iftab ]; then + if [ -f /etc/iftab ]; then echo "Remapping interfaces..." ifrename -c /etc/iftab fi if [ -n "$PHYETH" ]; then for i in $PHYETH; do - INT=`echo $i | cut -d: -f1` - SPEED=`echo $i | cut -d: -f2` - DUP=`echo $i | cut -d: -f3` + INT="$(echo $i | cut -d: -f1)" + SPEED="$(echo $i | cut -d: -f2)" + DUP="$(echo $i | cut -d: -f3)" echo "Setting ethernet parameters for $INT..." ethtool -s "$INT" speed "$SPEED" duplex "$DUP" autoneg off @@ -200,15 +200,16 @@ echo -n "" > /tmp/etc/ethers - if [ -r /stat/etc/ethers ]; then + if [ -f /stat/etc/ethers ]; then cat /stat/etc/ethers >> /tmp/etc/ethers fi - if [ -r /mnt/kd/ethers ]; then + if [ -f /mnt/kd/ethers ]; then cat /mnt/kd/ethers >> /tmp/etc/ethers fi - ifconfig lo up 127.0.0.1 + ip addr add 127.0.0.1/8 dev lo scope host + ip link set dev lo up # look for nas[0123] being any one of our interfaces, and create it for IF in $PPPOEIF $BRIDGE0 $BRIDGE1 $BRIDGE2 $INTIF $INT2IF $INT3IF; do @@ -225,7 +226,7 @@ br[0-2]) ;; *) - ifconfig "$EXTIF" down hw ether $EXTIFMAC up + ip link set dev "$EXTIF" address $EXTIFMAC ;; esac fi @@ -235,7 +236,7 @@ br[0-2]) ;; *) - ifconfig "$EXT2IF" down hw ether $EXT2IFMAC up + ip link set dev "$EXT2IF" address $EXT2IFMAC ;; esac fi @@ -243,11 +244,11 @@ #VLANS if [ -n "$VLANS" ]; then for i in $VLANS; do - IF=`echo $i | cut -d. -f1` - VID=`echo $i | cut -d. -f2` + IF="$(echo $i | cut -d. -f1)" + VID="$(echo $i | cut -d. -f2)" modprobe 8021q - ifconfig $IF up - vconfig add $IF $VID > /dev/null + ip link add link $IF name $IF.$VID type vlan id $VID + ip link set dev $IF up if [ "$VLANCOS" = "yes" ]; then vconfig set_egress_map "$IF.$VID" 0 3 > /dev/null vconfig set_egress_map "$IF.$VID" 1 3 > /dev/null @@ -267,7 +268,7 @@ brctl addbr br0 brctl setfd br0 0 for i in $BRIDGE0; do - ifconfig $i up + ip link set dev $i up brctl addif br0 $i done fi @@ -277,7 +278,7 @@ brctl addbr br1 brctl setfd br1 0 for i in $BRIDGE1; do - ifconfig $i up + ip link set dev $i up brctl addif br1 $i done fi @@ -287,7 +288,7 @@ brctl addbr br2 brctl setfd br2 0 for i in $BRIDGE2; do - ifconfig $i up + ip link set dev $i up brctl addif br2 $i done fi @@ -296,7 +297,8 @@ if [ -n "$EXTIF" -a -n "$EXTIFMAC" -a "$EXTIF" != "none" ]; then case "$EXTIF" in br[0-2]) - ifconfig "$EXTIF" down hw ether $EXTIFMAC up + ip link set dev "$EXTIF" down + ip link set dev "$EXTIF" address $EXTIFMAC ;; esac fi @@ -304,41 +306,46 @@ if [ -n "$EXT2IF" -a -n "$EXT2IFMAC" -a "$EXT2IF" != "none" ]; then case "$EXT2IF" in br[0-2]) - ifconfig "$EXT2IF" down hw ether $EXT2IFMAC up + ip link set dev "$EXT2IF" down + ip link set dev "$EXT2IF" address $EXT2IFMAC ;; esac fi if [ -n "$IFMTU" ]; then for i in $IFMTU; do - IF=`echo $i | cut -d: -f1` - MTU=`echo $i | cut -d: -f2` - ifconfig $IF mtu $MTU + IF="$(echo $i | cut -d: -f1)" + MTU="$(echo $i | cut -d: -f2)" + ip link set dev $IF mtu $MTU done fi if [ -n "$INTIF" -a -n "$INTIP" -a -n "$INTNM" -a "$INTIF" != "none" ]; then - ifconfig $INTIF $INTIP netmask $INTNM - route add -net 224.0.0.0 netmask 240.0.0.0 $INTIF + ip addr add $INTIP/$INTNM brd + dev $INTIF if [ "$IPV6" = "yes" -a -n "$INTIPV6" ]; then ip -6 addr add $INTIPV6 dev $INTIF fi + ip link set dev $INTIF up + + if [ "$NTPBROADCAST" = "yes" ]; then + ip route add 224.0.0.0/4 dev $INTIF + fi fi if [ -n "$INT2IF" -a -n "$INT2IP" -a -n "$INT2NM" -a "$INT2IF" != "none" ]; then - ifconfig $INT2IF $INT2IP netmask $INT2NM - route add -net 224.0.0.0 netmask 240.0.0.0 $INT2IF + ip addr add $INT2IP/$INT2NM brd + dev $INT2IF if [ "$IPV6" = "yes" -a -n "$INT2IPV6" ]; then ip -6 addr add $INT2IPV6 dev $INT2IF fi + ip link set dev $INT2IF up fi if [ -n "$INT3IF" -a -n "$INT3IP" -a -n "$INT3NM" -a "$INT3IF" != "none" ]; then - ifconfig $INT3IF $INT3IP netmask $INT3NM - route add -net 224.0.0.0 netmask 240.0.0.0 $INT3IF + ip addr add $INT3IP/$INT3NM brd + dev $INT3IF if [ "$IPV6" = "yes" -a -n "$INT3IPV6" ]; then ip -6 addr add $INT3IPV6 dev $INT3IF fi + ip link set dev $INT3IF up fi if [ -n "$WANDELAY" ]; then @@ -350,9 +357,9 @@ if isextppp; then case $PPPOEIF in eth*|nas[0123]) - ifconfig $PPPOEIF up ;; + ip link set dev $PPPOEIF up ;; br[012]) - ifconfig $PPPOEIF up + ip link set dev $PPPOEIF up # because bridging does weird and unpleasant things to PPPoE packets echo "0" > /proc/sys/net/bridge/bridge-nf-call-iptables echo "0" > /proc/sys/net/bridge/bridge-nf-filter-pppoe-tagged @@ -382,7 +389,7 @@ FIREWALL=NONE PPPOE_EXTRA=\"\"" > /tmp/etc/ppp/pppoe.conf - PPPVER=`(pppd --version 2>&1 >/dev/null ) | awk '/^pppd version/ { print $3; }'` + PPPVER="$( (pppd --version 2>&1 >/dev/null ) | awk '/^pppd version/ { print $3; }')" if [ -n "$PPPOEKERNEL" ]; then echo "LINUX_PLUGIN=\"/usr/lib/pppd/$PPPVER/rp-pppoe.so\"" >> /tmp/etc/ppp/pppoe.conf @@ -426,24 +433,26 @@ wp) ;; hdlc0|pvc0) - ifconfig $EXTIF $EXTIP pointopoint $EXTGW + ip tunnel add $EXTIF mode ipip remote $EXTGW local $EXTIP + ip link set dev $EXTIF up ;; *) - ifconfig $EXTIF $EXTIP netmask $EXTNM + ip addr add $EXTIP/$EXTNM brd + dev $EXTIF if [ -n "$EXTIP_ALIAS" ]; then alias_interface add $EXTIF "$EXTIP_ALIAS" fi if [ "$IPV6" = "yes" -a -n "$EXTIPV6" ]; then ip -6 addr add $EXTIPV6 dev $EXTIF fi + ip link set dev $EXTIF up ;; esac if [ -n "$EXTGW" ]; then - route add -net default gw $EXTGW dev $EXTIF + ip route add default via $EXTGW dev $EXTIF fi if [ "$IPV6" = "yes" -a -n "$EXTGWIPV6" ]; then - ip -6 route add ::/0 via $EXTGWIPV6 dev $EXTIF metric 1 + ip -6 route add default via $EXTGWIPV6 dev $EXTIF metric 1 fi #end static IP fi @@ -455,24 +464,26 @@ wp) ;; hdlc0|pvc0) - ifconfig $EXT2IF $EXT2IP pointopoint $EXT2GW + ip tunnel add $EXT2IF mode ipip remote $EXT2GW local $EXT2IP + ip link set dev $EXT2IF up ;; *) - ifconfig $EXT2IF $EXT2IP netmask $EXT2NM + ip addr add $EXT2IP/$EXT2NM brd + dev $EXT2IF if [ -n "$EXT2IP_ALIAS" ]; then alias_interface add $EXT2IF "$EXT2IP_ALIAS" fi if [ "$IPV6" = "yes" -a -n "$EXT2IPV6" ]; then ip -6 addr add $EXT2IPV6 dev $EXT2IF fi + ip link set dev $EXT2IF up ;; esac if [ -n "$EXT2GW" ]; then - route add -net default gw $EXT2GW dev $EXT2IF + ip route add default via $EXT2GW dev $EXT2IF fi if [ "$IPV6" = "yes" -a -n "$EXT2GWIPV6" ]; then - ip -6 route add ::/0 via $EXT2GWIPV6 dev $EXT2IF metric 1 + ip -6 route add default via $EXT2GWIPV6 dev $EXT2IF metric 1 fi #end static ip on 2nd if fi @@ -498,16 +509,20 @@ ##DMZ Network if [ -n "$DMZIF" -a -n "$DMZIP" -a -n "$DMZNM" -a "$DMZIF" != "none" ]; then - ifconfig $DMZIF $DMZIP netmask $DMZNM + ip addr add $DMZIP/$DMZNM brd + dev $DMZIF if [ "$IPV6" = "yes" -a -n "$DMZIPV6" ]; then ip -6 addr add $DMZIPV6 dev $DMZIF fi + ip link set dev $DMZIF up fi ##IPv6 Tunnel if [ "$IPV6" = "yes" -a -n "$IPV6_TUNNEL" ]; then ipv6_tunnel start fi + + echo "Network UP" + sleep 1 } stop () { @@ -519,11 +534,11 @@ fi if [ -z "$EXTIP" ]; then - kill `cat /var/run/udhcpc-$EXTIF.pid` 2>/dev/null + kill $(cat /var/run/udhcpc-$EXTIF.pid) 2>/dev/null fi - if [ -r /var/run/ppp0.pid ]; then - kill `cat /var/run/ppp0.pid` + if [ -f /var/run/ppp0.pid ]; then + kill $(cat /var/run/ppp0.pid) fi if [ -n "$EXTIF" -a "$EXTIF" != "none" ]; then @@ -531,7 +546,7 @@ if [ -n "$EXTIP_ALIAS" ]; then alias_interface delete $EXTIF "$EXTIP_ALIAS" fi - ifconfig $EXTIF down + ip link set dev $EXTIF down fi if [ -n "$EXT2IF" -a "$EXT2IF" != "none" ]; then @@ -539,49 +554,50 @@ if [ -n "$EXT2IP_ALIAS" ]; then alias_interface delete $EXT2IF "$EXT2IP_ALIAS" fi - ifconfig $EXT2IF down + ip link set dev $EXT2IF down fi if [ -n "$INTIF" -a "$INTIF" != "none" ]; then echo "Bringing down $INTIF..." - ifconfig $INTIF down + ip link set dev $INTIF down fi if [ -n "$INT2IF" -a "$INT2IF" != "none" ]; then echo "Bringing down $INT2IF ..." - ifconfig $INT2IF down + ip link set dev $INT2IF down fi if [ -n "$INT3IF" -a "$INT3IF" != "none" ]; then echo "Bringing down $INT3IF..." - ifconfig $INT3IF down + ip link set dev $INT3IF down fi if [ -n "$DMZIF" -a "$DMZIF" != "none" ]; then echo "Bringing down $DMZIF ..." - ifconfig $DMZIF down + ip link set dev $DMZIF down fi #BRIDGES if [ -n "$BRIDGE0" ]; then - ifconfig br0 down + ip link set dev br0 down brctl delbr br0 fi if [ -n "$BRIDGE1" ]; then - ifconfig br1 down + ip link set dev br1 down brctl delbr br1 fi if [ -n "$BRIDGE2" ]; then - ifconfig br2 down + ip link set dev br2 down brctl delbr br2 fi #VLANS if [ -n "$VLANS" ]; then for i in $VLANS; do - vconfig rem $i + ip link set dev $i down + ip link delete $i done fi @@ -589,7 +605,7 @@ for IF in $PPPOEIF $BRIDGE0 $BRIDGE1 $BRIDGE2 $INTIF $INT2IF $INT3IF; do case $IF in nas[0123]) - ifconfig "$IF" down + ip link set dev "$IF" down killall br2684ctl if [ -n "$ATM_MODULE" ]; then modprobe -r $ATM_MODULE @@ -598,6 +614,8 @@ ;; esac done + + echo "Network DOWN" } case $1 in Modified: branches/1.0/project/astlinux/target_skeleton/etc/udhcpc.script =================================================================== --- branches/1.0/project/astlinux/target_skeleton/etc/udhcpc.script 2013-04-25 21:31:59 UTC (rev 6056) +++ branches/1.0/project/astlinux/target_skeleton/etc/udhcpc.script 2013-04-27 18:20:07 UTC (rev 6057) @@ -5,41 +5,49 @@ [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 -. /etc/rc.conf +resolv_conf="/tmp/etc/resolv-up.conf" -[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" -[ -n "$subnet" ] && NETMASK="netmask $subnet" +udhcpc_conf="/tmp/udhcpc-${interface}.conf" case "$1" in - deconfig) - /sbin/ifconfig $interface 0.0.0.0 - rm -f /tmp/mydhcpip /tmp/udhcpc-$interface.conf - ;; + deconfig) + /sbin/ip link set dev ${interface} up + /sbin/ip -4 addr flush dev ${interface} scope global + rm -f /tmp/mydhcpip "$udhcpc_conf" + ;; - renew|bound) - /sbin/ifconfig $interface $ip $BROADCAST $NETMASK - echo $ip > /tmp/mydhcpip - echo -e "IP=$ip\nBCAST=$broadcast\nNETMASK=$subnet" > /tmp/udhcpc-$interface.conf - if [ -n "$router" ] ; then - echo "deleting routers" - while route del default gw 0.0.0.0 dev $interface 2> /dev/null > /dev/null; do - : - done + renew|bound) + /sbin/ip link set dev ${interface} up + /sbin/ip -4 addr flush dev ${interface} scope global + /sbin/ip -4 addr add ${ip}/${subnet} brd ${broadcast:-+} dev ${interface} + echo "${ip}" > /tmp/mydhcpip + echo "IP=${ip} +BCAST=${broadcast} +NETMASK=${subnet}" > "$udhcpc_conf" + if [ -n "${router}" ]; then + # Delete existing default route(s) + while /sbin/ip route del default dev ${interface} >/dev/null 2>&1; do + : + done - for i in $router ; do - route add default gw $i dev $interface - echo "GW=$i" >> /tmp/udhcpc-$interface.conf - done - fi + metric=0 + for i in ${router}; do + echo "udhcpc: adding route via ${i}" + /sbin/ip route add default via ${i} dev ${interface} metric $((metric++)) + echo "GW=${i}" >> "$udhcpc_conf" + done + fi - echo -n > /tmp/etc/resolv-up.conf - [ -n "$domain" ] && echo search $domain >> /tmp/etc/resolv-up.conf - for i in $dns ; do - echo adding dns $i - echo nameserver $i >> /tmp/etc/resolv-up.conf - echo "DNS=$i" >> /tmp/udhcpc-$interface.conf - done - ;; + echo -n "" > "$resolv_conf" + if [ -n "${domain}" ]; then + echo "search ${domain}" >> "$resolv_conf" + fi + for i in ${dns}; do + echo "udhcpc: adding resolver ${i}" + echo "nameserver ${i}" >> "$resolv_conf" + echo "DNS=${i}" >> "$udhcpc_conf" + done + ;; esac exit 0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |