summaryrefslogtreecommitdiffstats
path: root/bfdd
diff options
context:
space:
mode:
authorIgor Ryzhov <iryzhov@nfware.com>2021-05-27 19:02:56 +0200
committerIgor Ryzhov <iryzhov@nfware.com>2021-06-01 17:07:54 +0200
commitb6c87c35768477e5b2442e12956dafc9d9b112e8 (patch)
tree1b909844cce8c02ff846055b96251706a501903c /bfdd
parentbgpd: fix enabling bfd debug (diff)
downloadfrr-b6c87c35768477e5b2442e12956dafc9d9b112e8.tar.xz
frr-b6c87c35768477e5b2442e12956dafc9d9b112e8.zip
lib: fix bfd multihop
Never send an interface name/index for multihop sessions. It breaks "neighbor A.B.C.D update-source" config in BGP. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Diffstat (limited to 'bfdd')
-rw-r--r--bfdd/ptm_adapter.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bfdd/ptm_adapter.c b/bfdd/ptm_adapter.c
index 4135e5fb4..838acf450 100644
--- a/bfdd/ptm_adapter.c
+++ b/bfdd/ptm_adapter.c
@@ -232,7 +232,7 @@ int ptm_bfd_notify(struct bfd_session *bs, uint8_t notify_state)
stream_putl(msg, ZEBRA_INTERFACE_BFD_DEST_UPDATE);
/* NOTE: Interface is a shortcut to avoid comparing source address. */
- if (bs->ifp != NULL)
+ if (!CHECK_FLAG(bs->flags, BFD_SESS_FLAG_MH) && bs->ifp != NULL)
stream_putl(msg, bs->ifp->ifindex);
else
stream_putl(msg, IFINDEX_INTERNAL);