summaryrefslogtreecommitdiffstats
path: root/remote/rootfs/rootfs-stage32/data/opt/openslx/bin
diff options
context:
space:
mode:
authorSimon Rettberg2013-06-05 16:58:12 +0200
committerSimon Rettberg2013-06-05 16:58:12 +0200
commite10d936b05d91bd35f4bddc12b125195a99e44e0 (patch)
tree29afdd7c8e5a846f9f3c340a9e716d4ff8568016 /remote/rootfs/rootfs-stage32/data/opt/openslx/bin
parentmerge (diff)
downloadtm-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/rootfs-stage32/data/opt/openslx/bin')
-rwxr-xr-xremote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++12
-rwxr-xr-xremote/rootfs/rootfs-stage32/data/opt/openslx/bin/udhcpc.openslx.script92
2 files changed, 99 insertions, 5 deletions
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/opt/openslx/bin/udhcpc.openslx.script b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/udhcpc.openslx.script
new file mode 100755
index 00000000..83877adb
--- /dev/null
+++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/udhcpc.openslx.script
@@ -0,0 +1,92 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+#
+# Copyright (c) 2011 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+#
+# Mini-Linux Toolkit
+#
+# -----------------------------------------------------------------------------
+
+
+RESOLV_CONF="/etc/resolv.conf"
+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)
+
+ [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
+ [ -n "$subnet" ] && NETMASK="netmask $subnet"
+
+ ip addr add $ip/$(ipcalc -s -p $ip $subnet|sed s/.*=//) dev $interface
+ ip route add default via $router
+
+ echo "ip=$ip" > $IP_CONF
+ echo "subnet=$subnet" >> $IP_CONF
+ echo "broadcast=$broadcast" >> $IP_CONF
+ echo "gateway=$router" >> $IP_CONF
+
+ # Update resolver configuration file
+ R=""
+ if [ -n "$domain" ]; then
+ R="domain $domain
+"
+ else
+ R="domain lp.ruf.uni-freiburg.de
+search lp.ruf.uni-freiburg.de
+"
+ fi
+ count=1;
+ for i in $dns; do
+ echo "$0: Adding DNS $i"
+ R="${R}nameserver $i
+"
+ count=$((count+1));
+ done
+
+ if [ -x /sbin/resolvconf ]; then
+ echo -n "$R" | resolvconf -a "${interface}.udhcpc"
+ else
+ echo -n "$R" > "$RESOLV_CONF"
+ fi
+
+ # TODO i.e. event trigger
+ [ "x$(grep -ci mount /proc/cmdline)" != "x0" ] && systemctl start nfs-mount.service
+ # Always mount virtlib directory
+ systemctl start var-lib-virt.service
+ # Write to openslx-config
+ echo "# Config written by openslx-dhcp-script" >> /opt/openslx/config
+ echo "SLX_DNS='$dns'" >> /opt/openslx/config
+ echo "SLX_HOSTNAME='$(hostname)'" >> /opt/openslx/config
+
+ ;;
+
+ deconfig)
+
+ ;;
+
+ leasefail)
+ echo "$0: Lease failed: $message"
+ ;;
+
+ nak)
+ echo "$0: Received a NAK: $message"
+ ;;
+
+ *)
+ echo "$0: Unknown udhcpc command: $1";
+ exit 1;
+ ;;
+esac