|
|
|
@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
|
|
|
|
|
#!/bin/sh |
|
|
|
|
echo "$*" >>/dev/net-interfaces-found |
|
|
|
|
>/net.$1 |
|
|
|
|
|
|
|
|
|
# loopback is always handled the same way |
|
|
|
|
[ "$1" = "lo" ] && { |
|
|
|
@ -9,12 +9,26 @@ echo "$*" >>/dev/net-interfaces-found
@@ -9,12 +9,26 @@ echo "$*" >>/dev/net-interfaces-found
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# 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 |