summaryrefslogtreecommitdiff
path: root/nest/rt-table.c
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2019-10-10 15:06:32 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2019-10-10 15:06:32 +0200
commit9eace84342bc879abf371a84f8af3bd697e1c0a2 (patch)
treea49786a9b801ece619c897d5e63145d455d2900e /nest/rt-table.c
parentcb2b6e0494e685fc4cce52a1d449ffd69bec351e (diff)
Nest: Handle PtP links in recursive route update
Underlying (IGP) route may lead to PtP link, in this case it does not need gateway. Which is different than direct route without gateway. When recursive (BGP) route uses PtP route, it should not use recursive next hop as immediate next hop, while for direct routes it should.
Diffstat (limited to 'nest/rt-table.c')
-rw-r--r--nest/rt-table.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c
index 97a5d1bc..d99953e5 100644
--- a/nest/rt-table.c
+++ b/nest/rt-table.c
@@ -2137,6 +2137,8 @@ no_nexthop:
nhp->gw = nh->gw; /* Router nexthop */
nhp->flags |= (nh->flags & RNF_ONLINK);
}
+ else if (!(nh->iface->flags & IF_MULTIACCESS) || (nh->iface->flags & IF_LOOPBACK))
+ nhp->gw = IPA_NONE; /* PtP link - no need for nexthop */
else if (ipa_nonzero(he->link))
nhp->gw = he->link; /* Device nexthop with link-local address known */
else