summaryrefslogtreecommitdiffstats
path: root/bfdd/control.c
diff options
context:
space:
mode:
authorSumitAgarwal123 <sumit.agarwal@broadcom.com>2019-10-21 07:53:01 +0200
committerSumitAgarwal123 <sumit.agarwal@broadcom.com>2019-10-29 05:38:20 +0100
commit7555dc6116a4fc51631b2c26ecb5b63a5c574674 (patch)
tree693a001e27c1ec35343891694d7e514bc6d2a2bf /bfdd/control.c
parentMerge pull request #4966 from Orange-OpenSource/isis-TE (diff)
downloadfrr-7555dc6116a4fc51631b2c26ecb5b63a5c574674.tar.xz
frr-7555dc6116a4fc51631b2c26ecb5b63a5c574674.zip
bfdd: Handling local and remote admin-down
Scenarios where this code change is required: 1. BFD is un-configured from BGP at remote end. Neighbour BFD sends ADMIN_DOWN state, but BFD on local side will send DOWN to BGP, resulting in BGP session DOWN. Removing BFD session administratively shouldn't bring DOWN BGP session at local or remote. 2. BFD is un-configured from BGP or shutdown locally. BFD will send state DOWN to BGP resulting in BGP session DOWN. (This is akin to saying do not use BFD for BGP) Removing BFD session administratively shouldn't bring DOWN BGP session at local or remote. Signed-off-by: Sayed Mohd Saquib sayed.saquib@broadcom.com
Diffstat (limited to 'bfdd/control.c')
-rw-r--r--bfdd/control.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/bfdd/control.c b/bfdd/control.c
index c308d647d..5c5421c04 100644
--- a/bfdd/control.c
+++ b/bfdd/control.c
@@ -774,13 +774,13 @@ static void _control_notify(struct bfd_control_socket *bcs,
control_queue_enqueue(bcs, bcm);
}
-int control_notify(struct bfd_session *bs)
+int control_notify(struct bfd_session *bs, uint8_t notify_state)
{
struct bfd_control_socket *bcs;
struct bfd_notify_peer *bnp;
/* Notify zebra listeners as well. */
- ptm_bfd_notify(bs);
+ ptm_bfd_notify(bs, notify_state);
/*
* PERFORMANCE: reuse the bfd_control_msg allocated data for