On Thu, May 06, 2021 at 05:09:53PM +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 ptpnumbered/unnumbered interface. > 1. Forp2p connections, ospf should be sending only multicast packets > toallospfrouters, but I see its sending to unicast address. > (From RFC “On physical point-to-point networks, theIP destination is always > set to the address AllSPFRouters”)
Hi Thanks for noticing this RFC, that is good argument to change this. > 2. Forptp over unnumbered interface, bird requires peer address configuration > whichis not required from the ospf perspective. Because bird is using peer > addressand sending unicast packets, bird cannot form multiple ospf adj over > ptpunnumbered interface between 2 endpoints using same peer address. > Made some quick changes and have attached the patch thataddresses the issues. > Relaxed the source ip address validation for ptp link inpacket.c for now. > More validation can be added to make it complete. > Thanks and Regards,Senthil This is more complicated issue. BIRD OSPF implementation does not really enumerate physical interfaces, but address ranges assigned to them. Therefore, one could run two different address ranges on an iface and it will behave as two different OSPF ifaces (two broadcast network with different prefixes, two PtP links, or even one broadcast network and one PtP link). This is very flexible (these virtual OSPF ifaces can even have different configuration), but it also leads to the result that physical interface without address is not an OSPF interface, so even unnumbered ptp interfaces require peer address configuration to define OSFP interface. Also note that PtP interfaces need not be physical PtP interfaces, most often it is just ethernet configured as PtP. It is hard to reconcile existing model with true unnumbered ifaces (considering that say IP addresses can appear dynamically so we should not claim that iface without address is ptp iface). I think that long term solution is to require that all virtual OSPF ifaces on one physical iface are of the same type (broadcast vs ptp), but it would require significant redesign of OSPF iface enumerating code and break some backwards compatibility in corner cases. Note that this second issue is unrelated to the first one - dst addressess of unicast packets are taken from neighbor structure, which is initialized from src address of neighbor's Hello packets. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santi...@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."