summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ospfd/ospf_lsa.c2
-rw-r--r--ospfd/ospf_lsa.h1
-rw-r--r--ospfd/ospf_packet.c3
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);