1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

Implements Point-to-MultiPoint interface type for OSPF.

This commit is contained in:
Ondrej Zajicek
2010-12-24 18:08:07 +01:00
parent 39847cda73
commit 919f5411c4
13 changed files with 253 additions and 204 deletions

View File

@@ -304,6 +304,13 @@ ospf_lsupd_flood(struct proto_ospf *po,
switch (ifa->type)
{
case OSPF_IT_BCAST:
if ((ifa->state == OSPF_IS_BACKUP) || (ifa->state == OSPF_IS_DR))
ospf_send_to(ifa, AllSPFRouters);
else
ospf_send_to(ifa, AllDRouters);
break;
case OSPF_IT_NBMA:
if ((ifa->state == OSPF_IS_BACKUP) || (ifa->state == OSPF_IS_DR))
ospf_send_to_agt(ifa, NEIGHBOR_EXCHANGE);
@@ -311,16 +318,20 @@ ospf_lsupd_flood(struct proto_ospf *po,
ospf_send_to_bdr(ifa);
break;
case OSPF_IT_PTP:
ospf_send_to(ifa, AllSPFRouters);
break;
case OSPF_IT_PTMP:
ospf_send_to_agt(ifa, NEIGHBOR_EXCHANGE);
break;
case OSPF_IT_VLINK:
ospf_send_to(ifa, ifa->vip);
break;
default:
if ((ifa->state == OSPF_IS_BACKUP) || (ifa->state == OSPF_IS_DR) ||
(ifa->type == OSPF_IT_PTP))
ospf_send_to(ifa, AllSPFRouters);
else
ospf_send_to(ifa, AllDRouters);
bug("Bug in ospf_lsupd_flood()");
}
}
}