summaryrefslogtreecommitdiffstats
path: root/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'hooks')
-rw-r--r--hooks/net16
1 files changed, 15 insertions, 1 deletions
diff --git a/hooks/net b/hooks/net
index b964d13..ea19230 100644
--- a/hooks/net
+++ b/hooks/net
@@ -1,7 +1,7 @@
# vim: set ft=sh:
run_hook ()
{
- local line defaultrootpath defaultserver
+ local line i net_mac bootif_mac bootif_dev defaultrootpath defaultserver
# These variables will be parsed from /tmp/net-*.conf generated by ipconfig
local DEVICE
local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1
@@ -14,6 +14,20 @@ run_hook ()
fi
if [ -n "${ip}" ]; then
+ if [ -n "${BOOTIF}" ]; then
+ bootif_mac=${BOOTIF#01-}
+ bootif_mac=${bootif_mac//-/:}
+ for i in /sys/class/net/*/address; do
+ read net_mac < ${i}
+ if [ "${bootif_mac}" == "${net_mac}" ]; then
+ bootif_dev=${i#/sys/class/net/}
+ bootif_dev=${bootif_dev%/address}
+ break
+ fi
+ done
+ ip="${ip}::${bootif_dev}"
+ fi
+
# setup network and save some values
ipconfig "ip=${ip}"