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.tjernl...@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 
  

Reply via email to