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;
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",
extern void ospf_intra_add_stub (struct route_table *,
struct router_lsa_link *, struct vertex *,
struct ospf_area *,
- int parent_is_root);
+ int parent_is_root, int);
extern int ospf_route_cmp (struct ospf *, struct ospf_route *,
struct ospf_route *);
u_char *lim;
struct router_lsa_link *l;
struct router_lsa *rlsa;
+ int lsa_pos = 0;
if (IS_DEBUG_OSPF_EVENT)
zlog_debug ("ospf_process_stubs():processing router LSA, id: %s",
(l->m[0].tos_count * OSPF_ROUTER_LSA_TOS_SIZE));
if (l->m[0].type == LSA_LINK_TYPE_STUB)
- ospf_intra_add_stub (rt, l, v, area, parent_is_root);
+ ospf_intra_add_stub (rt, l, v, area, parent_is_root, lsa_pos);
+ lsa_pos++;
}
}