X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fipv6cp.c;fp=pppd%2Fipv6cp.c;h=b9c96d4f0e2c2108cdb46858d1f0e0d95f01f5a6;hb=f83cacece31325699c72959d0a0099aae8976f3b;hp=dbdc5ef8b38c21b217a9bd769ad49b9c540f87e1;hpb=4087ec556b1ccee15d8e97153f3800b79982f8ba;p=ppp.git diff --git a/pppd/ipv6cp.c b/pppd/ipv6cp.c index dbdc5ef..b9c96d4 100644 --- a/pppd/ipv6cp.c +++ b/pppd/ipv6cp.c @@ -1058,7 +1058,8 @@ endswitch: /* * ether_to_eui64 - Convert 48-bit Ethernet address into 64-bit EUI * - * walks the list of valid ethernet interfaces, and convert the first + * walks the list of valid ethernet interfaces, starting with devnam + * (for PPPoE it is ethernet interface), and convert the first * found 48-bit MAC address into EUI 64. caller also assumes that * the system has a properly configured Ethernet interface for this * function to return non-zero. @@ -1069,14 +1070,16 @@ ether_to_eui64(eui64_t *p_eui64) u_char addr[6]; char *if_name; - if ((if_name = get_first_ethernet()) == NULL) { - error("no persistent id can be found"); - return 0; - } + if (get_if_hwaddr(addr, devnam) < 0) { + if ((if_name = get_first_ethernet()) == NULL) { + error("no persistent id can be found"); + return 0; + } - if (get_if_hwaddr(addr, if_name) < 0) { - error("could not obtain hardware address for %s", if_name); - return 0; + if (get_if_hwaddr(addr, if_name) < 0) { + error("could not obtain hardware address for %s", if_name); + return 0; + } } /*