]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/ipv6cp.c
pppd: Add support for EAP-MSCHAPv2 (client side) (#211)
[ppp.git] / pppd / ipv6cp.c
index dbdc5ef8b38c21b217a9bd769ad49b9c540f87e1..431cb62211bff1d28de4ca8151c070199a615877 100644 (file)
@@ -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.
@@ -1067,15 +1068,9 @@ static int
 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, if_name) < 0) {
-        error("could not obtain hardware address for %s", if_name);
+    if (get_if_hwaddr(addr, devnam) < 0 || get_first_ether_hwaddr(addr) < 0) {
+        error("ipv6cp: no persistent id can be found");
         return 0;
     }