I'm writing some NAT/redirect stuff for IPv6 (don't ask why) and I've come across this packet manglery:
dione$ ping6 2a01:4f8:d13:1980::1000 PING6(56=40+8+8 bytes) 2001:a60:f074::30 --> 2a01:4f8:d13:1980::1000 16 bytes from 2001:a60:f074::25, icmp_seq=0 hlim=64 time=20.019 ms ^C --- 2a01:4f8:d13:1980::1000 ping6 statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 20.019/20.019/20.019/0.000 ms The question is now, is it a bug or a feature. Somehere inside ping6 the return address is not checked with the outgoing address and it happily accepts 2001:a60:f074::25 as a valid return address in my case. Cheers, -peter