summaryrefslogtreecommitdiff
path: root/proto/ospf/lsupd.c
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2012-05-14 11:47:41 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2012-05-14 11:47:41 +0200
commit95127cbbb76e8870e029454a5313bc4b6ce69a4a (patch)
treeb30ffa4a722d776714cfe979090ee15e5cd74376 /proto/ospf/lsupd.c
parent0ec031f7400fbacdd86b40ae1870c58715a7f108 (diff)
Real broadcast mode for OSPFv2.
Diffstat (limited to 'proto/ospf/lsupd.c')
-rw-r--r--proto/ospf/lsupd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/proto/ospf/lsupd.c b/proto/ospf/lsupd.c
index 325a8d00..f71c72d1 100644
--- a/proto/ospf/lsupd.c
+++ b/proto/ospf/lsupd.c
@@ -314,7 +314,9 @@ ospf_lsupd_flood(struct proto_ospf *po,
{
case OSPF_IT_BCAST:
if ((ifa->state == OSPF_IS_BACKUP) || (ifa->state == OSPF_IS_DR))
- ospf_send_to(ifa, AllSPFRouters);
+ ospf_send_to_all(ifa);
+ else if (ifa->cf->real_bcast)
+ ospf_send_to_bdr(ifa);
else
ospf_send_to(ifa, AllDRouters);
break;
@@ -327,7 +329,7 @@ ospf_lsupd_flood(struct proto_ospf *po,
break;
case OSPF_IT_PTP:
- ospf_send_to(ifa, AllSPFRouters);
+ ospf_send_to_all(ifa);
break;
case OSPF_IT_PTMP: