diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2021-06-01 16:31:26 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-01 16:31:26 -0400 |
| commit | 9dddf5fe699518f28e028541c9a57e8fde2402c4 (patch) | |
| tree | 37d56fc7fd70661c6c75c080c96037a1761b8c9b /ospf6d/ospf6_interface.c | |
| parent | 8a31e38fefcd660bf297bc314baf490c6f77e7c0 (diff) | |
| parent | d16cff32b24c91262213a3b629ed9f56e02c159f (diff) | |
Merge pull request #8759 from idryzhov/ospf6-vrf-fix
ospf6d: fix using vrf interface as a loopback
Diffstat (limited to 'ospf6d/ospf6_interface.c')
| -rw-r--r-- | ospf6d/ospf6_interface.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c index 9a738aa5b5..f037ea1f4d 100644 --- a/ospf6d/ospf6_interface.c +++ b/ospf6d/ospf6_interface.c @@ -109,7 +109,7 @@ static uint8_t ospf6_default_iftype(struct interface *ifp) { if (if_is_pointopoint(ifp)) return OSPF_IFTYPE_POINTOPOINT; - else if (if_is_loopback(ifp)) + else if (if_is_loopback_or_vrf(ifp)) return OSPF_IFTYPE_LOOPBACK; else return OSPF_IFTYPE_BROADCAST; @@ -390,7 +390,7 @@ void ospf6_interface_state_update(struct interface *ifp) if (if_is_operative(ifp) && (ospf6_interface_get_linklocal_address(oi->interface) - || if_is_loopback(oi->interface))) + || if_is_loopback_or_vrf(oi->interface))) thread_execute(master, interface_up, oi, 0); else thread_execute(master, interface_down, oi, 0); @@ -734,7 +734,7 @@ int interface_up(struct thread *thread) /* check interface has a link-local address */ if (!(ospf6_interface_get_linklocal_address(oi->interface) - || if_is_loopback(oi->interface))) { + || if_is_loopback_or_vrf(oi->interface))) { if (IS_OSPF6_DEBUG_INTERFACE) zlog_debug( "Interface %s has no link local address, can't execute [InterfaceUp]", @@ -800,7 +800,7 @@ int interface_up(struct thread *thread) /* Schedule Hello */ if (!CHECK_FLAG(oi->flag, OSPF6_INTERFACE_PASSIVE) - && !if_is_loopback(oi->interface)) { + && !if_is_loopback_or_vrf(oi->interface)) { oi->thread_send_hello = NULL; thread_add_event(master, ospf6_hello_send, oi, 0, &oi->thread_send_hello); @@ -2106,7 +2106,7 @@ DEFUN (no_ipv6_ospf6_passive, THREAD_OFF(oi->thread_sso); /* don't send hellos over loopback interface */ - if (!if_is_loopback(oi->interface)) + if (!if_is_loopback_or_vrf(oi->interface)) thread_add_event(master, ospf6_hello_send, oi, 0, &oi->thread_send_hello); |
