diff options
-rw-r--r-- | ospfd/ospf_interface.c | 4 | ||||
-rw-r--r-- | ospfd/ospf_neighbor.c | 8 | ||||
-rw-r--r-- | ospfd/ospf_neighbor.h | 4 | ||||
-rw-r--r-- | ospfd/ospfd.c | 6 |
4 files changed, 11 insertions, 11 deletions
diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c index a062004ac..5602ebe89 100644 --- a/ospfd/ospf_interface.c +++ b/ospfd/ospf_interface.c @@ -297,7 +297,7 @@ ospf_if_cleanup (struct ospf_interface *oi) ospf_ls_upd_queue_empty (oi); /* Reset pseudo neighbor. */ - ospf_nbr_self_reset (oi); + ospf_nbr_self_reset (oi, oi->ospf->router_id); } void @@ -926,7 +926,7 @@ ospf_vl_new (struct ospf *ospf, struct ospf_vl_data *vl_data) zlog_debug ("ospf_vl_new(): set associated area to the backbone"); /* Add pseudo neighbor. */ - ospf_nbr_self_reset (voi); + ospf_nbr_self_reset (voi, voi->ospf->router_id); ospf_area_add_if (voi->area, voi); diff --git a/ospfd/ospf_neighbor.c b/ospfd/ospf_neighbor.c index 16753b85d..1954447b6 100644 --- a/ospfd/ospf_neighbor.c +++ b/ospfd/ospf_neighbor.c @@ -238,18 +238,18 @@ ospf_nbr_bidirectional (struct in_addr *router_id, /* reset nbr_self */ void -ospf_nbr_self_reset (struct ospf_interface *oi) +ospf_nbr_self_reset (struct ospf_interface *oi, struct in_addr router_id) { if (oi->nbr_self) ospf_nbr_delete (oi->nbr_self); oi->nbr_self = ospf_nbr_new (oi); - ospf_nbr_add_self (oi); + ospf_nbr_add_self (oi, router_id); } /* Add self to nbr list. */ void -ospf_nbr_add_self (struct ospf_interface *oi) +ospf_nbr_add_self (struct ospf_interface *oi, struct in_addr router_id) { struct prefix p; struct route_node *rn; @@ -260,7 +260,7 @@ ospf_nbr_add_self (struct ospf_interface *oi) /* Initial state */ oi->nbr_self->address = *oi->address; oi->nbr_self->priority = OSPF_IF_PARAM (oi, priority); - oi->nbr_self->router_id = oi->ospf->router_id; + oi->nbr_self->router_id = router_id; oi->nbr_self->src = oi->address->u.prefix4; oi->nbr_self->state = NSM_TwoWay; diff --git a/ospfd/ospf_neighbor.h b/ospfd/ospf_neighbor.h index 81e212b57..0e209d211 100644 --- a/ospfd/ospf_neighbor.h +++ b/ospfd/ospf_neighbor.h @@ -102,8 +102,8 @@ extern struct ospf_neighbor *ospf_nbr_new (struct ospf_interface *); extern void ospf_nbr_free (struct ospf_neighbor *); extern void ospf_nbr_delete (struct ospf_neighbor *); extern int ospf_nbr_bidirectional (struct in_addr *, struct in_addr *, int); -extern void ospf_nbr_self_reset (struct ospf_interface *); -extern void ospf_nbr_add_self (struct ospf_interface *); +extern void ospf_nbr_self_reset (struct ospf_interface *, struct in_addr); +extern void ospf_nbr_add_self (struct ospf_interface *, struct in_addr); extern int ospf_nbr_count (struct ospf_interface *, int); #ifdef HAVE_OPAQUE_LSA extern int ospf_nbr_count_opaque_capable (struct ospf_interface *); diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index ea66042f2..2034ed1db 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -124,7 +124,7 @@ ospf_router_id_update (struct ospf *ospf) * oi->nbr_self->router_id = router_id for * !(virtual | ptop) links */ - ospf_nbr_self_reset (oi); + ospf_nbr_self_reset (oi, router_id); } /* If AS-external-LSA is queued, then flush those LSAs. */ @@ -888,7 +888,7 @@ add_ospf_interface (struct interface *ifp, struct ospf_area *area, oi->type = IF_DEF_PARAMS (ifp)->type; /* Add pseudo neighbor. */ - ospf_nbr_self_reset (oi); + ospf_nbr_self_reset (oi, oi->ospf->router_id); ospf_area_add_if (oi->area, oi); @@ -1160,7 +1160,7 @@ ospf_network_run_interface (struct prefix *p, struct ospf_area *area, oi->output_cost = ospf_if_get_output_cost (oi); /* Add pseudo neighbor. */ - ospf_nbr_add_self (oi); + ospf_nbr_add_self (oi, oi->ospf->router_id); /* Relate ospf interface to ospf instance. */ oi->ospf = area->ospf; |