Binding to IPv6 multicast from ICMPv6 sockets returns EADDRNOTAVAIL
Description
While writing a PacketImpact test for ICMP sockets, I found a discrepancy with Linux.
When binding to the following IPv6 multicast addresses,
ff01::1ff02::1ff02::2
Linux returns the EINVAL error code, but gVisor returns the EADDRNOTAVAIL error code.
Steps to reproduce
- Run test
//third_party/gvisor/test/packetimpact/tests:icmp_bind_native_test - Observe success from native Linux
- Run test
//third_party/gvisor/test/packetimpact/tests:icmp_bind_netstack_test - Observe the following failures from gVisor:
--- FAIL: TestICMPSocketBind/IPv6MulticastInterfaceLocalAllNodes (0.00s)
third_party/gvisor/test/packetimpact/tests/icmp_bind_test.go:127: got dut.BindWithErrno(_, _, 9, ff01::1) = (_, cannot assign requested address), want (_, invalid argument)
--- FAIL: TestICMPSocketBind/IPv6MulticastLinkLocalAllRouters (0.00s)
third_party/gvisor/test/packetimpact/tests/icmp_bind_test.go:127: got dut.BindWithErrno(_, _, 10, ff02::2) = (_, cannot assign requested address), want (_, invalid argument)
--- FAIL: TestICMPSocketBind/IPv6MulticastLinkLocalAllNodes (0.00s)
third_party/gvisor/test/packetimpact/tests/icmp_bind_test.go:127: got dut.BindWithErrno(_, _, 13, ff02::1) = (_, cannot assign requested address), want (_, invalid argument)
A friendly reminder that this issue had no activity for 120 days.
Hi @puradox can I look into it ? I would love to work on in this !. Thanks
Hello! We (me and @nicolasgarza) are students at UT Austin working on issues for our virtualization class. Could we get this ticket assigned to us? Thank you!
PRs are welcome! I don't think anyone is working on this either since there has been no movement in months.