commit 02096148c9c407502697cfefbc0aed50eb820bbd Author: andy-1 Date: Tue Apr 27 23:33:23 2010 -0700 Ignore /sys/net/dev files if we get ENODEV for them, not just ENXIO. Both of them are indications that there's no such interface, so the file probably corresponds to something other than a device. Reviewed-By: Guy Harris diff --git a/CREDITS b/CREDITS index 0d23783..6efc188 100644 --- a/CREDITS +++ b/CREDITS @@ -15,6 +15,7 @@ Additional people who have contributed patches: Alexey Kuznetsov Alon Bar-Lev Andrew Brown + Antti Kantee Arien Vijn Arkadiusz Miskiewicz diff --git a/pcap-linux.c b/pcap-linux.c index af12543..de3239a 100644 --- a/pcap-linux.c +++ b/pcap-linux.c @@ -1883,7 +1883,7 @@ scan_sys_class_net(pcap_if_t **devlistp, char *errbuf) */ strncpy(ifrflags.ifr_name, name, sizeof(ifrflags.ifr_name)); if (ioctl(fd, SIOCGIFFLAGS, (char *)&ifrflags) < 0) { - if (errno == ENXIO) + if (errno == ENXIO || errno == ENODEV) continue; (void)snprintf(errbuf, PCAP_ERRBUF_SIZE, "SIOCGIFFLAGS: %.*s: %s",