diff options
| author | Acee Lindem <acee@lindem.com> | 2024-04-02 15:55:49 +0000 |
|---|---|---|
| committer | Acee Lindem <acee@lindem.com> | 2024-04-02 21:34:29 +0000 |
| commit | 58e623714bf01eafc2256917c64fe03e8c543411 (patch) | |
| tree | de7f36611baf86ff10899b4129e13a6fab674c42 /ospfd/ospf_neighbor.c | |
| parent | 0b1af4c91873f7ce264036d7a296d4325f205d67 (diff) | |
ospfd: Implement non-broadcast support for point-to-multipoint networks
This extends non-broadcast support to point-to-multipoint networks.
Neighbors will be explicitly configured and polled in lieu of multicast
dicovery. Toptotests and documentation updates are included.
Additionally, the ospf neighbor commands have been greatly simplified taking
advantage of DEFPY() capabilities.
The AllOSPFRouters (224.0.0.5) is still joined for non-broadcast networks
since it is joined for NBMA networks. It seems this could be removed but
it should done be in a separate commit.
Signed-off-by: Acee Lindem <acee@lindem.com>
Diffstat (limited to 'ospfd/ospf_neighbor.c')
| -rw-r--r-- | ospfd/ospf_neighbor.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ospfd/ospf_neighbor.c b/ospfd/ospf_neighbor.c index c238f051df..d47d581605 100644 --- a/ospfd/ospf_neighbor.c +++ b/ospfd/ospf_neighbor.c @@ -431,7 +431,7 @@ static struct ospf_neighbor *ospf_nbr_add(struct ospf_interface *oi, memcpy(&nbr->address, p, sizeof(struct prefix)); nbr->nbr_nbma = NULL; - if (oi->type == OSPF_IFTYPE_NBMA) { + if (OSPF_IF_NON_BROADCAST(oi)) { struct ospf_nbr_nbma *nbr_nbma; struct listnode *node; @@ -485,7 +485,7 @@ struct ospf_neighbor *ospf_nbr_get(struct ospf_interface *oi, route_unlock_node(rn); nbr = rn->info; - if (oi->type == OSPF_IFTYPE_NBMA && nbr->state == NSM_Attempt) { + if (OSPF_IF_NON_BROADCAST(nbr->oi) && nbr->state == NSM_Attempt) { nbr->src = iph->ip_src; memcpy(&nbr->address, p, sizeof(struct prefix)); } |
