summaryrefslogtreecommitdiffstats
path: root/bfdd
diff options
context:
space:
mode:
authorRafael Zalamena <rzalamena@opensourcerouting.org>2020-11-18 19:47:00 +0100
committerRafael Zalamena <rzalamena@opensourcerouting.org>2020-11-18 20:06:16 +0100
commit4c4faa474e13fd954bfa17653abd650945a223b5 (patch)
tree8a58e94791d600f71e3bc6112abae3b139193184 /bfdd
parentMerge pull request #7541 from ton31337/fix/hardcoded_function_names (diff)
downloadfrr-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.c7
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,