Ondrej Zajicek <santiago@crfreenet.org> wrote on 2010/04/23 11:52:26:
From: Ondrej Zajicek <santiago@crfreenet.org> To: Joakim Tjernlund <joakim.tjernlund@transmode.se> Cc: bird-users@trubka.network.cz Date: 2010/04/23 11:46 Subject: Re: OSPF performance/SPF calculations
On Fri, Apr 23, 2010 at 10:50:38AM +0200, Joakim Tjernlund wrote:
Yes, i got the idea. Our algorithm (for PTP) is to search for a ptp iface with a full neighbor with given Router ID and choose the cheapest one. This would lead to the same results as your idea, but a slightly less efficient, but probably not important unless you have a hundreds of PTP ifaces on a router.
I got a lot of PtP I/Fs(some 20-30) :)
But this won't fix multiple ptp I/Fs between the same two routes and I don't think it will work if one end is unnumbered and the other one is not.
Our algorithm (in the git tree) works well for multiple ptp ifaces between the same two routers (because both the SPF and the calc_next_hop() chooses the same (cheapest) ptp link.
Even if all local PtoP I/Fs have the same IP address or no IP address? What does this comment in calc_next_hop mean? /* * Remaining cases - local neighbours. * There are two problems with this code: * 1) we use IP address from HELLO packet * and not the one from LSA (router or link). * This may break NBMA networks * 2) we use find_neigh_noifa() and does not * take into account associated iface. * This breaks neighbors connected by more links. */
Our algorithm works regardless of whether it is unnumbered or numbered, as we don't use the information from the 'Link Data' field of router-LSA for ptp networks.
Yes, the Link Data field is useless for unnumbered I/F as it contains the local interface ifIndex and neither of Option 1 and Option 2 in section 12.4.1.1. Describing point-to-point interfaces