What is the order in which NetworkInterface.getNetworkInterfaces()
returns an enumeration of network interfaces? Is there a way to affect that on JVM level or on Linux OS level?
According to the source of the OpenJDK (found in src/solaris/native/java/net/NetworkInterface.c
, method enumInterfaces
) it will return IPv4 interfaces first (method enumIPv4Interfaces
), followed by IPv6 interfaces (method enumIPv6Interfaces
).
The order within those categories seems to be the same that the OS uses (it uses the SIOCGIFCONF
ioctl).
Note that this is implementation dependent and not defined, so any implementation can very easily do it differently.
This simply delegates to a native call, and no I'm not aware of any way to alter it.
If you take a look at sources, then you see that getNetworkInterfaces just return enumeration, which backed with a NetworkInterface array, which is returned by getAll() method, which is native. So, it is implementation dependent and system dependent. You can't do anything with this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With