]> git.proxmox.com Git - mirror_frr.git/commit - bfdd/ptm_adapter.c
bfdd, lib, bgpd: add bfd cbit usage
authorPhilippe Guibert <philippe.guibert@6wind.com>
Mon, 15 Apr 2019 15:20:25 +0000 (17:20 +0200)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Tue, 14 May 2019 14:49:49 +0000 (16:49 +0200)
commit9beff0bda93a1ab398647cfda6e5efc06222a46c
treee536633959fe4d7e5d903aa74fab0ae290e8c97d
parenteb04e6e3c42901036b1b8c4d31ccab22fb133626
bfdd, lib, bgpd: add bfd cbit usage

bfd cbit is a value carried out in bfd messages, that permit to keep or
not, the independence between control plane and dataplane. In other
words, while most of the cases plan to flush entries, when bfd goes
down, there are some cases where that bfd event should be ignored. this
is the case with non stop forwarding mechanisms where entries may be
kept. this is the case for BGP, when graceful restart capability is
used. If BFD event down happens, and bgp is in graceful restart mode, it
is wished to ignore the BFD event while waiting for the remote router to
restart.
The changes take into account the following:
- add a config flag across zebra layer so that daemon can set or not the
  cbit capability.
- ability for daemons to read the remote bfd capability associated to a bfd
  notification.
- in bfdd, according to the value, the cbit value is set
- in bfdd, the received value is retrived and stored in the bfd session
  context.
- by default, the local cbit announced to remote is set to 1 while
  preservation of the local path is not set.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 files changed:
bfdd/bfd.c
bfdd/bfd.h
bfdd/bfd_packet.c
bfdd/bfdctl.h
bfdd/ptm_adapter.c
bgpd/bgp_bfd.c
isisd/isis_bfd.c
lib/bfd.c
lib/bfd.h
ospf6d/ospf6_bfd.c
ospfd/ospf_bfd.c
pimd/pim_bfd.c
zebra/zebra_ptm.c