ospf_spf_process_stubs: use LSA pos to find OSFP interface
This is better than a prefix lookup as prefixes may not be
unique, that is, the same prefix can exist on several interfaces.
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
diff --git a/ospfd/ospf_route.c b/ospfd/ospf_route.c
index d2e5e1e..a5d6d18 100644
--- a/ospfd/ospf_route.c
+++ b/ospfd/ospf_route.c
@@ -429,7 +429,7 @@
void
ospf_intra_add_stub (struct route_table *rt, struct router_lsa_link *link,
struct vertex *v, struct ospf_area *area,
- int parent_is_root)
+ int parent_is_root, int lsa_pos)
{
u_int32_t cost;
struct route_node *rn;
@@ -577,7 +577,7 @@
if (IS_DEBUG_OSPF_EVENT)
zlog_debug ("ospf_intra_add_stub(): this network is on this router");
- if ((oi = ospf_if_lookup_by_prefix (area->ospf, &p)))
+ if ((oi = ospf_if_lookup_by_lsa_pos (area, lsa_pos)))
{
if (IS_DEBUG_OSPF_EVENT)
zlog_debug ("ospf_intra_add_stub(): the interface is %s",