mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 16:20:08 +00:00
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>
This commit is contained in:
parent
906b54ddba
commit
9fb2b87997
@ -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
|
||||
|
@ -226,6 +226,9 @@ static int ospf6_zebra_read_route(int command, struct zclient *zclient,
|
||||
if (CHECK_FLAG(api.message, ZAPI_MESSAGE_SRCPFX))
|
||||
return 0;
|
||||
|
||||
if (IN6_IS_ADDR_LINKLOCAL(&api.prefix.u.prefix6))
|
||||
return 0;
|
||||
|
||||
ifindex = api.nexthops[0].ifindex;
|
||||
nexthop = &api.nexthops[0].gate.ipv6;
|
||||
|
||||
|
@ -126,6 +126,9 @@ static int ripng_zebra_read_route(int command, struct zclient *zclient,
|
||||
if (CHECK_FLAG(api.message, ZAPI_MESSAGE_SRCPFX))
|
||||
return 0;
|
||||
|
||||
if (IN6_IS_ADDR_LINKLOCAL(&api.prefix.u.prefix6))
|
||||
return 0;
|
||||
|
||||
nexthop = api.nexthops[0].gate.ipv6;
|
||||
ifindex = api.nexthops[0].ifindex;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user