diff options
author | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2020-11-18 19:47:00 +0100 |
---|---|---|
committer | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2020-11-18 20:06:16 +0100 |
commit | 4c4faa474e13fd954bfa17653abd650945a223b5 (patch) | |
tree | 8a58e94791d600f71e3bc6112abae3b139193184 /bfdd | |
parent | Merge pull request #7541 from ton31337/fix/hardcoded_function_names (diff) | |
download | frr-4c4faa474e13fd954bfa17653abd650945a223b5.tar.xz frr-4c4faa474e13fd954bfa17653abd650945a223b5.zip |
bfdd: fix multiple links same address
Allows users with multiple links using same IPv6 address (same VRF) to
work.
Reported-by: Matti Suuronen
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'bfdd')
-rw-r--r-- | bfdd/bfd.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/bfdd/bfd.c b/bfdd/bfd.c index cb53d96bb..c77b5cd1a 100644 --- a/bfdd/bfd.c +++ b/bfdd/bfd.c @@ -1743,9 +1743,12 @@ struct bfd_session *bfd_key_lookup(struct bfd_key key) /* Handle case where a context more complex ctx is present. * input has no iface nor local-address, but a context may - * exist + * exist. + * + * Only applies to IPv4, because IPv6 requires either + * local-address or interface. */ - if (!bs.key.mhop) { + if (!bs.key.mhop && bs.key.family == AF_INET) { ctx.result = NULL; ctx.given = &bs; hash_walk(bfd_key_hash, &bfd_key_lookup_ignore_partial_walker, |