Redo the way interface are enumerated? #169
to fill in the list.
To find the IPv4 addresses, it calls
To get all the IPv6 addresses for the adapter, it calls
So we end up calling
Oh, and then
This code needs some work. I have a version of libpcap's pcap-npf.c where
The current master branch of libpcap includes direct support for AirPcap devices (tested on a Windows VM; it works). If we were to remove the AirPcap support from Npcap, and leave that up to libpcap, that would leave only the DAG devices. Endace currently doesn't support Windows, only Linux and FreeBSD, and libpcap already has DAG support, so that might be another case to leave up to libpcap; were Endace to support Windows again, they'll probably either contribute whatever changes are needed to pcap-dag.c or I'd nag them into doing so. :-)
So the first question is whether, were packet.dll not to provide
If not, it could be removed, and
If it is necessary, perhaps it could just be a list of names, not full interface information.
The text was updated successfully, but these errors were encountered:
I can add to this that running e.g.
which relates to opening the non-existing symlink
See #169. This still has a lot of flaws, but makes the following important changes: * Eliminates direct Registry queries for IP address info in favor of GAA * Reduces 3 calls to GAA (IsIpv4Enabled, PacketAddIP6Addresses, PacketGetAdaptersIPH) down to 1 in PacketGetAdaptersNPF. * Uses HeapAlloc instead of GlobalAlloc for the buffer used for GAA, as the old method was failing about 50% of the time in my tests. * Stashes the buffer size used for the last successful call to GAA, in order to reduce the chance of failure and realloc. * Uses GAA_FLAG_INCLUDE_ALL_INTERFACES to attempt to open all interfaces, in the hopes that future Npcap improvements may result in non-TCPIP interfaces being supported.