diff options
| author | Stephen Worley <sworley@cumulusnetworks.com> | 2019-10-07 18:01:21 -0400 |
|---|---|---|
| committer | Stephen Worley <sworley@cumulusnetworks.com> | 2019-10-07 18:29:01 -0400 |
| commit | cb254f41c05cbefdd5564a7a910e441ee349ed0e (patch) | |
| tree | 7692366e1b1ebc014e770ef78c3eb66a4980164e /pbrd/pbr_zebra.c | |
| parent | 4668ac905cf97e298fbc1b11929c64bc7b5a60af (diff) | |
pbrd: Don't track ipv6 link locals
Don't bother tracking ipv6 link locals to determine if a map
should be installed. Every interface has a route of `fe80::/64`
so its just going to return the arbitrarily first one it finds
when it resolves it and hands it back to us.
Instead, just track the interface we specify along with it.
Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
Diffstat (limited to 'pbrd/pbr_zebra.c')
| -rw-r--r-- | pbrd/pbr_zebra.c | 6 |
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; } |
