summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_packet.c
diff options
context:
space:
mode:
authorChristian Franke <chris@opensourcerouting.org>2013-02-20 10:00:54 +0000
committerDavid Lamparter <equinox@diac24.net>2013-04-20 06:14:27 +0200
commit4c14b7f684510592f2eb46fd84859d8bca57def9 (patch)
treef42890045f6d1cd37cdd61106b6524e6c476f445 /ospfd/ospf_packet.c
parent4de8bf001189d40e086764fd804e59657d2e21e6 (diff)
downloadquagga-4c14b7f684510592f2eb46fd84859d8bca57def9.tar.bz2
quagga-4c14b7f684510592f2eb46fd84859d8bca57def9.tar.xz
ospfd: fix flooding procedure
An ospf router should accept a new maxage LSA into its lsdb if it has any neighbors in state Exchange or Loading. ospfd would however only account for neighbors on the same interface which does not seem to be a valid optimization. Signed-off-by: Christian Franke <chris@opensourcerouting.org> Signed-off-by: Joachim Nilsson <troglobit@gmail.com> Signed-off-by: David Lamparter <equinox@diac24.net>
Diffstat (limited to 'ospfd/ospf_packet.c')
-rw-r--r--ospfd/ospf_packet.c3
1 files changed, 1 insertions, 2 deletions
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);