+#if ENABLE_FEATURE_NAMEIF_EXTENDED
+ struct ethtool_drvinfo drvinfo;
+#endif
+ if (parser->lineno < 2)
+ continue; /* Skip the first two lines */
+
+ /* Find the current interface name and copy it to ifr.ifr_name */
+ memset(&ifr, 0, sizeof(struct ifreq));
+ strncpy(ifr.ifr_name, token[0], sizeof(ifr.ifr_name));
+
+#if ENABLE_FEATURE_NAMEIF_EXTENDED
+ /* Check for driver etc. */
+ memset(&drvinfo, 0, sizeof(struct ethtool_drvinfo));
+ drvinfo.cmd = ETHTOOL_GDRVINFO;
+ ifr.ifr_data = (caddr_t) &drvinfo;
+ /* Get driver and businfo first, so we have it in drvinfo */
+ ioctl(ctl_sk, SIOCETHTOOL, &ifr);
+#endif
+ ioctl(ctl_sk, SIOCGIFHWADDR, &ifr);