OSPFv3 broken - MLDv2 announcements not being sent

Started by LVA, December 12, 2023, 03:09:39 PM

Previous topic - Next topic
I got here through a (very) old thread in the archives that describes the issues I have. Short summary:

- Trying to set up an OSPFv3 link with the ISP - Stub zone, broadcast
- Link-up works fine, neighbor status is set, routes are being announced
- After 4 minutes (reproducible) the ISP's router stops sending OSPF Hello packets, the dead interval passes and everything stops
- Restarting ospf6d makes it work again, for 4 minutes

The old thread: https://forum.opnsense.org/index.php?topic=19600.0

The remarks describing my exact symptoms:

Quote from: gary201It appears that the point of failure is 4 minutes after OpnSense is rebooted.

Quote from: mjholgateThe main thing i noticed was that OPNsense doesn't appear to be sending MLDv2 announcements.

When looking at a packet dump it is curious how there is indeed twice an MLDv2 announcement being sent, but only after restarting ospf6d and then never again:


IP6 (hlim 1, next-header Options (0) payload length: 36)
    fe80::20d:xxxx:yyyy:7d0d > ff02::16: HBH (padn)(rtalert: 0x0000) 
    [icmp6 sum ok] ICMP6, multicast listener report v2, 1 group record(s)
    [gaddr ff02::5 to_ex { }]


And after these two packets, the ISP's router instantly picks up the Hello packet sending. For four minutes.

Now, reading up RFC3810:

Multicast Address Listening Interval

   The Multicast Address Listening Interval (MALI) is the amount of time
   that must pass before a multicast router decides there are no more
   listeners of a multicast address or a particular source on a link.
   This value MUST be ([Robustness Variable] times [Query Interval])
   plus [Query Response Interval].


Robustness Variable is default 2, Query Interval is default 125s, Query Response Interval default 10s. Total default is 260s. Four minutes 20 seconds, which is *precisely* what I see here.

I'm very much not familiar with these types of networks and packets - only read up on OSPFv3 last week - so question is: where is the issue? Should opnsense be sending MLDv2 announcements, but it doesn't, and this causes the MALI to expire, thereby causing my OSPFv3 router to no longer be considered a multicast listener by the other side, thereby causing a stop in hello packets?

And if yes - how do I rectify this?  :)