summaryrefslogtreecommitdiff
path: root/proto/ospf
diff options
context:
space:
mode:
authorMikael Magnusson <mikma@users.sourceforge.net>2023-11-26 00:00:23 +0100
committerMikael Magnusson <mikma@users.sourceforge.net>2023-11-26 00:00:23 +0100
commitf68ada00dc1b3093d6fce166d673bb10d0b4a20e (patch)
treebdadb41c6d161e7964f316c621ee3e750ecc722d /proto/ospf
parenta5f33d2c0c546baf480c19400a3567559d647051 (diff)
parent31aa62ae6d2e111e87c08b4b27a16ead968f0689 (diff)
Merge commit '31aa62ae' into wireguard-next-tmp7-1wireguard-next-tmp7-1
Diffstat (limited to 'proto/ospf')
-rw-r--r--proto/ospf/rt.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/proto/ospf/rt.c b/proto/ospf/rt.c
index 471bb586..efcd4e17 100644
--- a/proto/ospf/rt.c
+++ b/proto/ospf/rt.c
@@ -1796,7 +1796,12 @@ calc_next_hop(struct ospf_area *oa, struct top_hash_entry *en,
if (ifa->type == OSPF_IT_VLINK)
return new_nexthop(p, IPA_NONE, NULL, 0);
- /* FIXME: On physical PtP links we may skip next-hop altogether */
+ /*
+ * The type of the ospf_iface is PtP and the iface is a physical PtP link,
+ * so we can simply use the iface, and skip further resolving.
+ */
+ if (ifa->type == OSPF_IT_PTP && !(ifa->iface->flags & IF_MULTIACCESS))
+ return new_nexthop(p, IPA_NONE, ifa->iface, ifa->ecmp_weight);
if (ospf_is_v2(p) || ospf_is_ip6(p))
{