On Jul 11, 1:36pm, christoph.lan...@sap.com ("Langer, Christoph") wrote: -- Subject: RE: RFR (S) JDK-8160174: java.net.NetworkInterface - fixes and im
| Hi Chris (or anyone who is holding a stake in the NetworkInterface native i= | mplementation), | | I've spent some time on cleaning up NetworkInterface.c and came up with a b= | igger change: http://cr.openjdk.java.net/~clanger/webrevs/8160174.2/ | | With this I attempted to consolidate the interface listing functionality of= | the 2 main categories - one is ioctl (used on Linux IPv4, Solaris and AIX)= | and the other is getifaddrs (used on MacOS). I introduced some defines to = | switch between the implementations. I also consolidated the functionality f= | or the ioctl based network interface listings by using an #ifdef section to= | distinguish between the Linux/AIX versus Solaris field and constant names.= | | | I've spent some time testing on the platforms and in principal it works. Bu= | t as it is a matter of taste, I'd like to ask you if you support this type = | of change or have any hints or recommendations before going forward to fina= | lize this. | | For Linux I'm also suggesting to use the getifaddrs approach - I tested and= | found it working everywhere and with this we could get rid of the implemen= | tation to read /proc/net for IPv6. | | Furthermore I'm generally setting Null for the IPv6 broadcast address - whi= | ch I think is common sense for IPv6. | Christoph, I think that it is probably even better to create a getifaddrs(3) compatibility layer for the OS's the still use ioctl(2), and put all of it in a separate file. You can probably use the code from one of the BSD's with minor modifications. Best, christos