]> git.proxmox.com Git - mirror_frr.git/commit - zebra/rt_netlink.c
zebra - BFD client de-registration support
authorradhika <radhika@cumulusnetworks.com>
Mon, 9 May 2016 03:11:18 +0000 (20:11 -0700)
committerradhika <radhika@cumulusnetworks.com>
Mon, 9 May 2016 03:11:18 +0000 (20:11 -0700)
commit567b877d7ff2c04ccf62bca75338cec7a560f184
tree216b7fa0e0cb090fd081c5810b2be507acd0ff59
parent021530c1e3e4f67a313e4c34536bd513809e2054
zebra - BFD client de-registration support

CM-10680
Issue: When BGP daemon is stopped, all the BGP BFD sessions are not getting deleted from PTM.
Root cause: BGP daemon stop causes BFD de-register message to be sent for every peer on which BFD is enabled. But, all the de-register messages from bgpd to zebra are not processed before the socket close. This results in some stale BGP BFD sessions.
Fix: Support for client de-register message has been added in PTM/BFD.  Changes in Quagga to support BFD client de-registrations:
−   The BFD clients de-registration is sent directly from zebra daemon when zebra client (bgpd, ospfd and ospf6d) socket close is detected.
−   Introduced a BFD flag for the zebra clients to prevent BFD de-registration messages from being sent to zebra daemon when the client is shutting down. This reduces the BFD messaging.

CM-10540
Issue: Invalid ptm status “fail” instead of “n/a” being displayed for VRF interfaces.
Root cause: ptm status is not being initialized to “unknown” status when VRF interface is added or changed. The uninitialized value is ‘0’ which is the value for “fail”
Fix: Initialized the ptm status to the correct value.

Signed-off-by: Radhika Mahankali <radhika@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Kanna Rajagopal <kanna@cumulusnetworks.com>
Ticket: CM-10680, CM-10540
Reviewed By: CCR-4653
Testing Done: PTM smoke, BGP smoke and ptmd_test.py:TestMultipleAddrsIntfOspfBgp
12 files changed:
bgpd/bgp_bfd.c
bgpd/bgp_main.c
lib/bfd.c
lib/bfd.h
ospf6d/ospf6_bfd.c
ospf6d/ospf6_main.c
ospfd/ospf_bfd.c
ospfd/ospfd.c
zebra/rt_netlink.c
zebra/zebra_ptm.c
zebra/zebra_ptm.h
zebra/zserv.c