summaryrefslogtreecommitdiff
path: root/pbrd/pbr_vty.c
diff options
context:
space:
mode:
authorStephen Worley <sworley@cumulusnetworks.com>2019-10-07 18:01:21 -0400
committerStephen Worley <sworley@cumulusnetworks.com>2019-10-07 18:29:01 -0400
commitcb254f41c05cbefdd5564a7a910e441ee349ed0e (patch)
tree7692366e1b1ebc014e770ef78c3eb66a4980164e /pbrd/pbr_vty.c
parent4668ac905cf97e298fbc1b11929c64bc7b5a60af (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_vty.c')
-rw-r--r--pbrd/pbr_vty.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/pbrd/pbr_vty.c b/pbrd/pbr_vty.c
index a6e764bbb0..069b3e6c9b 100644
--- a/pbrd/pbr_vty.c
+++ b/pbrd/pbr_vty.c
@@ -363,7 +363,9 @@ DEFPY(pbr_map_nexthop, pbr_map_nexthop_cmd,
pbr_map_check(pbrms);
}
- if (nhop.type == NEXTHOP_TYPE_IFINDEX) {
+ if (nhop.type == NEXTHOP_TYPE_IFINDEX
+ || (nhop.type == NEXTHOP_TYPE_IPV6_IFINDEX
+ && IN6_IS_ADDR_LINKLOCAL(&nhop.gate.ipv6))) {
struct interface *ifp;
ifp = if_lookup_by_index(nhop.ifindex, nhop.vrf_id);