You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
However this does not seem fully match the previous buffer received from recvmsg()?
So far this somehow looks a bit like a Linux kernel bug to me, as we explicitly set the socket as SOCK_RAW for IPPROTO_ICMPV6, which should exclude UDP.
I'm also wondering if there might be a way to check for ICMPv6 explicitly from what recvmsg() returns to exclude the UDP packet responses. But so far the returned buffer looks like (mostly) garbage?
root@ffhl-pim6-router:~# uname -a
Linux ffhl-pim6-router 6.5.11-8-pve #1 SMP PREEMPT_DYNAMIC PMX 6.5.11-8 (2024-01-30T12:27Z) x86_64 GNU/Linux
The text was updated successfully, but these errors were encountered:
In MLDv2 mode I'm somehow hitting the "if (mld6_recvlen < 0)" check in mld6_read(). Which then results in pim6sd shutting down.
Debugging output when this happens shows:
The 80 bytes from recvmsg() look like this, where the first one is indeed 0x00:
With some ebtables blocking I could narrow it down to the following IPv6 UDP packet:
udp-mcast2.cap.txt
However this does not seem fully match the previous buffer received from recvmsg()?
So far this somehow looks a bit like a Linux kernel bug to me, as we explicitly set the socket as SOCK_RAW for IPPROTO_ICMPV6, which should exclude UDP.
I'm also wondering if there might be a way to check for ICMPv6 explicitly from what recvmsg() returns to exclude the UDP packet responses. But so far the returned buffer looks like (mostly) garbage?
The text was updated successfully, but these errors were encountered: