diff options
Diffstat (limited to 'ospfd')
-rw-r--r-- | ospfd/ospf_lsa.c | 2 | ||||
-rw-r--r-- | ospfd/ospf_lsa.h | 1 | ||||
-rw-r--r-- | ospfd/ospf_packet.c | 3 |
3 files changed, 3 insertions, 3 deletions
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c index e0e05ab8..109a120b 100644 --- a/ospfd/ospf_lsa.c +++ b/ospfd/ospf_lsa.c @@ -2794,7 +2794,7 @@ ospf_lsa_install (struct ospf *ospf, struct ospf_interface *oi, } -static int +int ospf_check_nbr_status (struct ospf *ospf) { struct listnode *node, *nnode; diff --git a/ospfd/ospf_lsa.h b/ospfd/ospf_lsa.h index 9ff2d920..c71877da 100644 --- a/ospfd/ospf_lsa.h +++ b/ospfd/ospf_lsa.h @@ -251,6 +251,7 @@ extern u_int32_t lsa_seqnum_increment (struct ospf_lsa *); extern void lsa_header_set (struct stream *, u_char, u_char, struct in_addr, struct in_addr); extern struct ospf_neighbor *ospf_nbr_lookup_ptop (struct ospf_interface *); +extern int ospf_check_nbr_status (struct ospf *); /* Prototype for LSA primitive. */ extern struct ospf_lsa *ospf_lsa_new (void); diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c index d3f1b563..37223fbb 100644 --- a/ospfd/ospf_packet.c +++ b/ospfd/ospf_packet.c @@ -1833,8 +1833,7 @@ ospf_ls_upd (struct ip *iph, struct ospf_header *ospfh, then take the following actions: */ if (IS_LSA_MAXAGE (lsa) && !current && - (ospf_nbr_count (oi, NSM_Exchange) + - ospf_nbr_count (oi, NSM_Loading)) == 0) + ospf_check_nbr_status(oi->ospf)) { /* (4a) Response Link State Acknowledgment. */ ospf_ls_ack_send (nbr, lsa); |