summaryrefslogtreecommitdiff
path: root/proto/ospf/lsack.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/lsack.c
parent0ec031f7400fbacdd86b40ae1870c58715a7f108 (diff)
Real broadcast mode for OSPFv2.
Diffstat (limited to 'proto/ospf/lsack.c')
-rw-r--r--proto/ospf/lsack.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/proto/ospf/lsack.c b/proto/ospf/lsack.c
index 53422e53..00c50caf 100644
--- a/proto/ospf/lsack.c
+++ b/proto/ospf/lsack.c
@@ -97,7 +97,9 @@ ospf_lsack_send(struct ospf_neighbor *n, int queue)
if (ifa->type == OSPF_IT_BCAST)
{
if ((ifa->state == OSPF_IS_DR) || (ifa->state == OSPF_IS_BACKUP))
- 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);
}
@@ -124,7 +126,9 @@ ospf_lsack_send(struct ospf_neighbor *n, int queue)
if (ifa->type == OSPF_IT_BCAST)
{
if ((ifa->state == OSPF_IS_DR) || (ifa->state == OSPF_IS_BACKUP))
- 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);
}