From 67e8793393935d07160d848801d4ce8c2feb6f45 Mon Sep 17 00:00:00 2001 From: Manuel Munz Date: Sun, 3 Jun 2012 08:46:46 +0000 Subject: [PATCH] contrib/meshwizard: Fix getting of mac address when the interface is not up yet, fix typo in setup_olsrd.sh --- .../meshwizard/helpers/gen_auto-ipv6-dhcpv6-ip.sh | 13 +++++++++++-- .../usr/bin/meshwizard/helpers/setup_network.sh | 6 +----- .../files/usr/bin/meshwizard/helpers/setup_olsrd.sh | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/gen_auto-ipv6-dhcpv6-ip.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/gen_auto-ipv6-dhcpv6-ip.sh index e10677cc9..114c8f9c1 100755 --- a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/gen_auto-ipv6-dhcpv6-ip.sh +++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/gen_auto-ipv6-dhcpv6-ip.sh @@ -1,7 +1,16 @@ #!/bin/sh +netrenamed=$1 + local PREFIX="$(echo $profile_ipv6_prefix| cut -d "/" -f 1| sed 's/::/:/')" -local MAC="$(ifconfig $1 |grep HWaddr | awk '{ print $5 '})" -local IPV6_UNIQ="$(echo $MAC | awk -F: '{ print $1$2":"$3$4":"$5$6 }')" + +# Get the devices mac address +local device="$(uci -p/var/state -q get network.$1.ifname)" +if [ -n "$device" ]; then + local MAC="$(ifconfig $netrenamed |grep HWaddr | awk '{ print $5 '})" +else + local MAC="$(cat /sys/class/net/$1/address)" + local IPV6_UNIQ="$(echo $MAC | awk -F: '{ print $1$2":"$3$4":"$5$6 }')" +fi echo "${PREFIX}${IPV6_UNIQ}:1" diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_network.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_network.sh index fc3ca9d1b..c3647c42d 100755 --- a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_network.sh +++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_network.sh @@ -27,11 +27,7 @@ EOF local ip6addr if [ "$profile_ipv6" = 1 ]; then if [ "$profile_ipv6_config" = "auto-ipv6-dhcpv6" ]; then - # get interface mac - local device="$(uci -p/var/state -q get network.$netrenamed.ifname)" - if [ -n "device" ]; then - ip6addr="$($dir/helpers/gen_auto-ipv6-dhcpv6-ip.sh $device)" - fi + ip6addr="$($dir/helpers/gen_auto-ipv6-dhcpv6-ip.sh $netrenamed)" uci set network.$netrenamed.ip6addr="${ip6addr}/112" fi fi diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_olsrd.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_olsrd.sh index f7ba95e86..29258694d 100755 --- a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_olsrd.sh +++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_olsrd.sh @@ -22,7 +22,7 @@ handle_interfacedefaults() { config_foreach handle_interfacedefaults InterfaceDefaults # Set basic olsrd settings -if [ "profile_ipv6" = 1 ]; then +if [ "$profile_ipv6" = 1 ]; then uci set olsrd.olsrd.IpVersion="6and4" fi uci_commitverbose "Setup olsr basic settings" olsrd -- 2.25.1