summaryrefslogtreecommitdiffstats
path: root/isisd
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-02-22 16:20:51 +0100
committerDonald Sharp <sharpd@cumulusnetworks.com>2019-03-27 21:22:22 +0100
commit9fb2b87997ac8a69133e5c157374eb2944671a27 (patch)
treebd8c7f634fc1a82a4d580f9e4e057f93e261dc30 /isisd
parentzebra: Re-evaluate the nexthop tracking if flags changed (diff)
downloadfrr-9fb2b87997ac8a69133e5c157374eb2944671a27.tar.xz
frr-9fb2b87997ac8a69133e5c157374eb2944671a27.zip
isisd, ospf6d, ripngd: Do not allow v6 LL's to be `redist connected` in
The rib process of handling routes has been unified a bit more and as a result v6 LL routes are now showing up as a result of a `redistribute connected`. Doing anything with these routes is a policy decision that should be enforced by the individual routing daemons not by zebra. As such add a bit of code to isisd, ripngd and opsf6d to handle them. The bgp daemon already handles this situation. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'isisd')
-rw-r--r--isisd/isis_zebra.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/isisd/isis_zebra.c b/isisd/isis_zebra.c
index dfe74e325..79d79f891 100644
--- a/isisd/isis_zebra.c
+++ b/isisd/isis_zebra.c
@@ -362,6 +362,10 @@ static int isis_zebra_read(int command, struct zclient *zclient,
if (zapi_route_decode(zclient->ibuf, &api) < 0)
return -1;
+ if (api.prefix.family == AF_INET6
+ && IN6_IS_ADDR_LINKLOCAL(&api.prefix.u.prefix6))
+ return 0;
+
/*
* Avoid advertising a false default reachability. (A default
* route installed by IS-IS gets redistributed from zebra back