From 919f5411c48f509a49400a1293e670f5d5d2bcf1 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Fri, 24 Dec 2010 18:08:07 +0100 Subject: Implements Point-to-MultiPoint interface type for OSPF. --- proto/ospf/lsupd.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'proto/ospf/lsupd.c') diff --git a/proto/ospf/lsupd.c b/proto/ospf/lsupd.c index fb757d0..06b62ae 100644 --- a/proto/ospf/lsupd.c +++ b/proto/ospf/lsupd.c @@ -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()"); } } } -- cgit v1.2.3