summaryrefslogtreecommitdiff
path: root/pbrd/pbr_zebra.c
diff options
context:
space:
mode:
authorJafar Al-Gharaibeh <Jafaral@users.noreply.github.com>2019-10-08 09:49:02 -0700
committerGitHub <noreply@github.com>2019-10-08 09:49:02 -0700
commit6eb3b18a0995a3bd2c2e1546a3e5eb1c2ea87aa5 (patch)
treec4df64a4f769c860d636e23aa041b8547091cefb /pbrd/pbr_zebra.c
parenta7ecb2e745e271229c1fb28325b96b4cea833da6 (diff)
parentcb254f41c05cbefdd5564a7a910e441ee349ed0e (diff)
Merge pull request #5120 from sworleys/PBR-LL-FIX
pbrd: Don't track ipv6 link locals
Diffstat (limited to 'pbrd/pbr_zebra.c')
-rw-r--r--pbrd/pbr_zebra.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/pbrd/pbr_zebra.c b/pbrd/pbr_zebra.c
index 2bba837389..39e92467ab 100644
--- a/pbrd/pbr_zebra.c
+++ b/pbrd/pbr_zebra.c
@@ -450,6 +450,12 @@ void pbr_send_rnh(struct nexthop *nhop, bool reg)
p.family = AF_INET6;
memcpy(&p.u.prefix6, &nhop->gate.ipv6, 16);
p.prefixlen = 128;
+ if (IN6_IS_ADDR_LINKLOCAL(&nhop->gate.ipv6))
+ /*
+ * Don't bother tracking link locals, just track their
+ * interface state.
+ */
+ return;
break;
}