Hi Jocke, yes i missed to take care of the ospfv3/ipv6 cases wherever im sending using allospfrouters as src ip.your are right, mcast changes in packet.c is mostly hack since im not comfortable with the bird code since i have only 1 week of bird code experience.reason i did not change inside ospf_send_to() is,since dst address is one of the parameter to the function and i don't want to override inside it. In Hello.c, ospf_send_hello they do some what similar, checking different interface types before they call ospf_send_to() Thanks and Regards,Senthil On Friday, May 7, 2021, 06:14:16 PM GMT+5:30, Joakim Tjernlund <joakim.tjernlund@infinera.com> wrote: On Thu, 2021-05-06 at 17:09 +0000, Senthil Kumar Nagappan wrote:
Hi,
I did sent this message a week back but I could not see it in the mailing, moreover just now subscribed to this mailing list, so sending this again.
I’m seeing some issues with ospf adj over ptp numbered/unnumbered interface.
1. For p2p connections, ospf should be sending only multicast packets to allospfrouters, but I see its sending to unicast address. (From RFC “On physical point-to-point networks, the IP destination is always set to the address AllSPFRouters”) 2. For ptp over unnumbered interface, bird requires peer address configuration which is not required from the ospf perspective. Because bird is using peer address and sending unicast packets, bird cannot form multiple ospf adj over ptp unnumbered interface between 2 endpoints using same peer address. Made some quick changes and have attached the patch that addresses the issues. Relaxed the source ip address validation for ptp link in packet.c for now. More validation can be added to make it complete.
Thanks and Regards, Senthil
Hi Senthil I took a closer look at your hack/patch ... You seem to miss correcting a few ospf_send_to() call sites. I wonder in its not better to override the dst addr inside ospf_send_to() instead? Also, the mcast changes in packet.c looks incomplete, there is IPv6 and and area == 0 further down to consider. Jocke