diff options
author | Simon Rettberg | 2013-06-05 16:58:12 +0200 |
---|---|---|
committer | Simon Rettberg | 2013-06-05 16:58:12 +0200 |
commit | e10d936b05d91bd35f4bddc12b125195a99e44e0 (patch) | |
tree | 29afdd7c8e5a846f9f3c340a9e716d4ff8568016 /remote/rootfs | |
parent | merge (diff) | |
download | tm-scripts-e10d936b05d91bd35f4bddc12b125195a99e44e0.tar.gz tm-scripts-e10d936b05d91bd35f4bddc12b125195a99e44e0.tar.xz tm-scripts-e10d936b05d91bd35f4bddc12b125195a99e44e0.zip |
Fix Network setup when using bridge
Unify coding style
Diffstat (limited to 'remote/rootfs')
-rwxr-xr-x | remote/rootfs/rootfs-stage31/data/bin/setup_network | 41 | ||||
-rwxr-xr-x | remote/rootfs/rootfs-stage31/data/init | 8 | ||||
-rwxr-xr-x | remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ | 12 | ||||
-rwxr-xr-x | remote/rootfs/rootfs-stage32/data/opt/openslx/bin/udhcpc.openslx.script (renamed from remote/rootfs/rootfs-stage32/data/etc/openslx/udhcpc.openslx.script) | 2 |
4 files changed, 33 insertions, 30 deletions
diff --git a/remote/rootfs/rootfs-stage31/data/bin/setup_network b/remote/rootfs/rootfs-stage31/data/bin/setup_network index 2578de4c..f9ff1bd1 100755 --- a/remote/rootfs/rootfs-stage31/data/bin/setup_network +++ b/remote/rootfs/rootfs-stage31/data/bin/setup_network @@ -10,17 +10,17 @@ ip link set dev lo up 2>/dev/null ip addr add 127.0.0.1/8 dev lo 2>/dev/null echo "Setting up bridge" -local bridge=br0 -local brnwif=eth0 -local nwifmac=${MAC} +BRIDGE="br0" +BRNWIF="eth0" +NWIFMAC="${MAC}" # bridge 0 already defined or some other problem -brctl addbr ${bridge} -brctl stp ${bridge} 0 -brctl setfd ${bridge} 0.000000000001 -ip link set addr ${nwifmac} ${bridge} -ip link set dev ${brnwif} up -brctl addif ${bridge} ${brnwif} +brctl addbr "$BRIDGE" +brctl stp "$BRIDGE" 0 +brctl setfd "$BRIDGE" 0.000000000001 +ip link set addr "$NWIFMAC" "$BRIDGE" +ip link set dev "$BRNWIF" up +brctl addif "$BRIDGE" "$BRNWIF" # analyze ip information from the kernel command line and put parts # of it into several variables @@ -32,20 +32,19 @@ if [ -n "$IPINFO" ] ; then done; echo $val|sed "s/:.*//"; } - clientip=$(getip 1) - serverip=$(getip 2) - gateway=$(getip 3) - subnet_mask=$(getip 4) - broadcast_address=$(ipcalc -s -b $clientip $subnet_mask|sed s/.*=//) - [ -z "$broadcast_address" ] && broadcast_address=255.255.255.255 + CLIENTIP="$(getip 1)" + SERVERIP="$(getip 2)" + GATEWAY="$(getip 3)" + SUBNET_MASK="$(getip 4)" + BROADCAST_ADDRESS="$(ipcalc -s -b "$CLIENTIP" "$SUBNET_MASK" | sed s/.*=//)" + [ -z "$BROADCAST_ADDRESS" ] && BROADCAST_ADDRESS="255.255.255.255" # we might have an idea of the dns server via preboot - dns_srv=$(getip 5) - [ -n "$dns_srv" ] && echo nameserver $dns_srv >/etc/resolv.conf; + DNS_SERVER="$(getip 5)" # set static ip address - ip addr add $clientip/$(ipcalc -s -p $clientip $subnet_mask|sed s/.*=//) \ - broadcast $broadcast_address dev $bridge - ip link set dev ${bridge} up - ip route add default via $gateway + ip addr add "$CLIENTIP/$(ipcalc -s -p "$CLIENTIP" "$SUBNET_MASK" | sed "s/.*=//")" \ + broadcast "$BROADCAST_ADDRESS" dev "$BRIDGE" + ip link set dev "$BRIDGE" up + ip route add default via "$GATEWAY" dev "$BRIDGE" else NOIPYET="yes" fi diff --git a/remote/rootfs/rootfs-stage31/data/init b/remote/rootfs/rootfs-stage31/data/init index 06be8376..06610542 100755 --- a/remote/rootfs/rootfs-stage31/data/init +++ b/remote/rootfs/rootfs-stage31/data/init @@ -107,10 +107,10 @@ echo 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="'$MAC'", A # create ip config cat >> /mnt/opt/openslx/config <<HEREEND # IP Config written in stage31 -SLX_PXE_CLIENT_IP='$clientip' -SLX_PXE_SERVER_IP='$serverip' -SLX_PXE_GATEWAY='$gateway' -SLX_PXE_DNS='$dns_srv' +SLX_PXE_CLIENT_IP='$CLIENTIP' +SLX_PXE_SERVER_IP='$SERVERIP' +SLX_PXE_GATEWAY='$GATEWAY' +SLX_PXE_DNS='$DNS_SERVER' SLX_PXE_MAC='$MAC' HEREEND diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ index f3d7d4c2..bda8e7e2 100755 --- a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ @@ -1,10 +1,12 @@ #!/bin/bash -export PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin +export PATH="$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin" -NET_IF=$1 -NET_IP=$(ip addr show dev ${NET_IF} | grep "inet " | awk -F " " '{print $2}' | awk -F "/" '{print $1}') +NET_IF="$1" +NET_IP="$(ip addr show dev "${NET_IF}" | grep "inet " | awk -F " " '{print $2}' | awk -F "/" '{print $1}')" UDHCPC_OPTS="" -[ ! -z "$NET_IP" ] && UDHCPC_OPTS=" -r $NET_IP " -/opt/openslx/sbin/udhcpc $UDHCPC_OPTS -O domain -O nissrv -O nisdomain -O wpad -t 8 -s /etc/openslx/udhcpc.openslx.script -i $NET_IF +[ ! -z "$NET_IP" ] && UDHCPC_OPTS=" -r '$NET_IP' " +echo "udhcp++: running on $NET_IF with additional params $UDHCPC_OPTS" >> "/tmp/udhcpclog" +/opt/openslx/sbin/udhcpc $UDHCPC_OPTS -O domain -O nissrv -O nisdomain -O wpad -t 8 -s /opt/openslx/bin/udhcpc.openslx.script -i "$NET_IF" + diff --git a/remote/rootfs/rootfs-stage32/data/etc/openslx/udhcpc.openslx.script b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/udhcpc.openslx.script index b42549cc..83877adb 100755 --- a/remote/rootfs/rootfs-stage32/data/etc/openslx/udhcpc.openslx.script +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/udhcpc.openslx.script @@ -22,6 +22,8 @@ IP_CONF="/tmp/udhcpc_ip_config" export PATH=$PATH:/opt/openslx/sbin:/opt/openslx/bin +echo "$interface -> $ip" >> "/tmp/udhcpclog" + case $1 in bound|renew) |