#!/bin/bash
+. /etc/init.d/functions
+
function create_bridge() {
local name=$1
echo "BOOTPROTO=dhcp" >> $FILE
COUNT=$(($COUNT+1))
# We only want at max two DHCP interfaces.
+ # switch and ethX
if [ $COUNT -ge 1 ]; then
break;
fi
done
}
+function create_dhcp_if() {
+
+ COUNT=0
+ NICS=`ls -1 /sys/class/net/ | grep -v lo | grep -v sit`
+ # The rest
+ for NIC in $NICS
+ do
+ FILE=/etc/sysconfig/network-scripts/ifcfg-$NIC
+ echo "DEVICE=$NIC" > $FILE
+ echo "ONBOOT=yes" >> $FILE
+ echo "BOOTPROTO=dhcp" >> $FILE
+ COUNT=$(($COUNT+1))
+ # We only want at max two DHCP interfaces.
+ if [ $COUNT -ge 2 ]; then
+ break;
+ fi
+ done
+}
+function create_static_if() {
+ COUNT=0
+ NICS=`ls -1 /sys/class/net/ | grep -v lo | grep -v sit`
+ # The rest
+ for NIC in $NICS
+ do
+ X=`cat /sys/class/net/$NIC/address | sed 's/.*\(..\)$/\1/'`
+ Y=`cat /sys/class/net/$NIC/address | sed 's/.*\(..\):..$/\1/'`
+ let I=0x$X
+ let J=0x$Y
+
+ # So xx:xx:xx:xx:10:01 will mean I=10, J=01
+ FILE=/etc/sysconfig/network-scripts/ifcfg-$NIC
+ echo "DEVICE=$NIC" > $FILE
+ echo "ONBOOT=yes" >> $FILE
+ echo "BOOTPROTO=static" >> $FILE
+ echo "IPADDR=$J.0.0.$I" >> $FILE
+ echo "GATEWAY=$J.0.0.1" >> $FILE
+ echo "NETMASK=255.255.255.0" >> $FILE
+ echo "DNS_1=$J.0.0.1" >> $FILE
+ echo "NM_CONTROLLED=no" >> $FILE
+ COUNT=$(($COUNT+1))
+ # We only want at max two interfaces.
+ if [ $COUNT -ge 2 ]; then
+ break;
+ fi
+ done
+}
mkdir -p /etc/sysconfig
echo "NETWORKING=yes" > /etc/sysconfig/network
-create_bridge_if switch
+
+NETWORK_SETUP_DONE=0
+
+TEST=$(boot_parameter 'test')
+if [ $? == 0 ]; then
+ case "$TEST" in
+ netstatic)
+ create_static_if
+ ;;
+ net)
+ create_dhcp_if
+ ;;
+ esac
+else
+ create_bridge_if switch
+fi
/etc/init.d/network start