On Fri, 28 Jan 2022 15:15:06 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:

> From the description and evaluation of 
> [JDK-7163874](https://bugs.openjdk.java.net/browse/JDK-7163874) it seems that 
> skipping this test on AIX would be reasonable.
> 
> Some operating systems seem to accept 0.0.0.0 as input - and reply with 
> 127.0.0.1. The changes made for JDK-7163874 simply makes sure that such a 
> reply is not rejected as invalid on the ground that the received address is 
> not the same as the input address. If 0.0.0.0 is not a valid input for the 
> underlying operating system, then the test has no object and should probably 
> be skipped.

Being a bit more specific - especially re: valid address:
- On AIX ping ::0 is not valid

aixtools@x064:[aixtools]ping ::0
ping: bind: The socket name is not available on this system.

- On AIX ping 0.0.0.0 is not invalid, but how it responds

ETH: ====( 98 bytes transmitted on interface en0 )==== 16:13:13.970131171
ETH:    [ 00:21:5e:a3:c7:44 -> 44:4e:6d:fa:4b:fe ]  type 800  (IP)
IP:     < SRC =  192.168.129.64 >  (x064)
IP:     < DST =         0.0.0.0 >
IP:     ip_v=4, ip_hl=20, ip_tos=0, ip_len=84, ip_id=63721, ip_off=0
IP:     ip_ttl=255, ip_sum=80d6, ip_p = 1 (ICMP)
ICMP:   icmp_type=8 (ECHO_REQUEST)  icmp_id=216  icmp_seq=516

- In special cases - when there are devices external to the (virtual) machine, 
that respond to 0.0.0.0 you get the address of the replying device:

root@p8-java1-adopt07:[/root]ping 0.0.0.0
PING 0.0.0.0 (0.0.0.0): 56 data bytes
64 bytes from 140.211.9.1: icmp_seq=0 ttl=255 time=11 ms
64 bytes from 140.211.9.1: icmp_seq=1 ttl=255 time=12 ms
64 bytes from 140.211.9.1: icmp_seq=2 ttl=255 time=0 ms

- At trace level:

ETH: ====( 98 bytes transmitted on interface en1 )==== 16:19:39.475020041
ETH:    [ 12:31:9e:0f:73:03 -> 58:bc:27:ae:b0:50 ]  type 800  (IP)
IP:     < SRC =   140.211.9.168 >  (p8-java1-adopt07)
IP:     < DST =         0.0.0.0 >
IP:     ip_v=4, ip_hl=20, ip_tos=0, ip_len=84, ip_id=23686, ip_off=0
IP:     ip_ttl=255, ip_sum=c8a7, ip_p = 1 (ICMP)
ICMP:   icmp_type=8 (ECHO_REQUEST)  icmp_id=238  icmp_seq=18

ETH: ====( 98 bytes received on interface en1 )==== 16:19:39.475356474
ETH:    [ 58:bc:27:ae:b0:50 -> 12:31:9e:0f:73:03 ]  type 800  (IP)
IP:     < SRC =     140.211.9.1 >  (corv-car1-gw.nero.net)
IP:     < DST =   140.211.9.168 >  (p8-java1-adopt07)
IP:     ip_v=4, ip_hl=20, ip_tos=0, ip_len=84, ip_id=23686, ip_off=0
IP:     ip_ttl=255, ip_sum=32d3, ip_p = 1 (ICMP)
ICMP:   icmp_type=0 (ECHO_REPLY)  icmp_id=238  icmp_seq=18


In conclusion: the `solution` is most likely to skip the test, just as it is 
skipped for Windows.
a) address `::0` is not valid
b) a response to IPv4: 0.0.0.0 depends on an external device responding to 
`0.0.0.0`

I'll make the basic changes - but I am sure to need help with text (the right 
bug number, or whatever) that needs to go into the code.

-------------

PR: https://git.openjdk.java.net/jdk/pull/7013

Reply via email to