elif [ "$new_domain_name" ]; then
echo "search $new_domain_name" >> /etc/resolv.conf
fi
- ( IFS=",";
- for s in $new_domain_name_servers; do
- echo "nameserver $s" >> /etc/resolv.conf
- done ) ;;
+ for s in $new_domain_name_servers; do
+ echo "nameserver $s" >> /etc/resolv.conf
+ done
+ >/net.$interface.up ;;
*) ;;
esac
#!/bin/sh
-echo "$*" >>/dev/net-interfaces-found
+>/net.$1
# loopback is always handled the same way
[ "$1" = "lo" ] && {
}
# spin through the kernel command line, looking for ip= lines
-while read p; do
+for p in $(cat /proc/cmdline); do
+ [ "${p%ip=*}" ] || continue
+ p=${p#ip=}
case $p in
- 'ip=none'|'ip=off') exit 0;; # we were told to not configure anything
- 'ip=dhcp'|'ip=on'|'ip=any') dhclient -nw "$1"; exit 0;;
- 'ip=bootp'|'ip=rarp'|'ip=both') exit 0;; #dunno how to do this
- ip=*) exit 0;; #to be written
+ none|off) exit 0;; # we were told to not configure anything
+ dhcp|on|any) dhclient -nw "$1"; exit 0;;
+ bootp|rarp|both) exit 0;; #dunno how to do this
+ *) echo ${ip#ip=} | \
+ (IFS=':' read client server gw netmask hostname device autoconf
+ if [ -z "$device" -o "$device" = "$1" ]; then
+ case $autoconf in
+ dhcp|on|any) dhclient -nw "$1";;
+ none|off|'') # do some basic configuration
+ ip link set $1 up
+ ip addr add $client/$netmask dev $1
+ [ "$gw" ] && ip route add default via $gw dev $1
+ >/net.$1.up ;;
+ esac
+ fi
+ ) ;;
*) continue;;
esac
done
\ No newline at end of file