diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-03-29 00:23:27 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-04-18 00:40:17 +0200 |
commit | cafec8da4f0a7ac850eb42a71c6d695e1f79fc7c (patch) | |
tree | d0ba8d9565fda572ac1e76b879380559e138b09e /pbrd | |
parent | Merge pull request #2064 from donaldsharp/redistribute_limitation (diff) | |
download | frr-cafec8da4f0a7ac850eb42a71c6d695e1f79fc7c.tar.xz frr-cafec8da4f0a7ac850eb42a71c6d695e1f79fc7c.zip |
lib, pbrd: Do not allow v6 LL nexthops to be specified without an interface.
Prevent the creation of a v6 LL nexthop that does not include an interface
for proper resolution.
Ticket: CM-20276
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pbrd')
-rw-r--r-- | pbrd/pbr_vty.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pbrd/pbr_vty.c b/pbrd/pbr_vty.c index 87ec3804a..18d8896fa 100644 --- a/pbrd/pbr_vty.c +++ b/pbrd/pbr_vty.c @@ -251,8 +251,14 @@ DEFPY(pbr_map_nexthop, pbr_map_nexthop_cmd, intf, vrf->name); return CMD_WARNING_CONFIG_FAILED; } - } else + } else { + if (IN6_IS_ADDR_LINKLOCAL(&nhop.gate.ipv6)) { + vty_out(vty, + "Specified a v6 LL with no interface, rejecting\n"); + return CMD_WARNING_CONFIG_FAILED; + } nhop.type = NEXTHOP_TYPE_IPV6; + } } if (pbrms->nhg) |