diff options
author | Acee Lindem <acee@lindem.com> | 2024-04-02 17:55:49 +0200 |
---|---|---|
committer | Acee Lindem <acee@lindem.com> | 2024-04-02 23:34:29 +0200 |
commit | 58e623714bf01eafc2256917c64fe03e8c543411 (patch) | |
tree | de7f36611baf86ff10899b4129e13a6fab674c42 /ospfd/ospf_interface.c | |
parent | Merge pull request #15609 from anlancs/fix/doc-isis-hello (diff) | |
download | frr-58e623714bf01eafc2256917c64fe03e8c543411.tar.xz frr-58e623714bf01eafc2256917c64fe03e8c543411.zip |
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_interface.c')
-rw-r--r-- | ospfd/ospf_interface.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c index 17426d261..319db1efe 100644 --- a/ospfd/ospf_interface.c +++ b/ospfd/ospf_interface.c @@ -147,17 +147,11 @@ void ospf_if_reset(struct interface *ifp) } } -void ospf_if_reset_variables(struct ospf_interface *oi) +static void ospf_if_default_variables(struct ospf_interface *oi) { /* Set default values. */ - /* don't clear this flag. oi->flag = OSPF_IF_DISABLE; */ - if (oi->vl_data) - oi->type = OSPF_IFTYPE_VIRTUALLINK; - else - /* preserve network-type */ - if (oi->type != OSPF_IFTYPE_NBMA) - oi->type = OSPF_IFTYPE_BROADCAST; + oi->type = OSPF_IFTYPE_BROADCAST; oi->state = ISM_Down; @@ -254,7 +248,7 @@ struct ospf_interface *ospf_if_new(struct ospf *ospf, struct interface *ifp, oi->ls_ack_direct.ls_ack = list_new(); /* Set default values. */ - ospf_if_reset_variables(oi); + ospf_if_default_variables(oi); /* Set pseudo neighbor to Null */ oi->nbr_self = NULL; |