BFD-FIB interactions 63/6063/5
authorNeale Ranns <nranns@cisco.com>
Wed, 5 Apr 2017 15:11:14 +0000 (08:11 -0700)
committerDamjan Marion <dmarion.lists@gmail.com>
Thu, 6 Apr 2017 15:18:44 +0000 (15:18 +0000)
commit88fc83eb716bf07f4634de6de5b569f795a56418
tree4c8037b62cb6a57209aef4e28ae273d0ba4e40e7
parent5ee51f8ed616f14f3b32ae8857d383fefa02d861
BFD-FIB interactions

- single-hop BFD: attach a delegate to the appropriate adjacency
- multi-hop BFD [not supported yet]: attach a delegate to the FIB entry.

adjacency/fib_entry state tracks the BFD session state. when the state is down the object does not contribute forwarding hence and hence dependent objects will not use it.
For example, if a route is ECMP via two adjacencies and one of them is BFD down, then only the other is used to forward (i.e. we don't drop half the traffic).

Change-Id: I0ef53e20e73b067001a132cd0a3045408811a822
Signed-off-by: Neale Ranns <nranns@cisco.com>
25 files changed:
src/vnet.am
src/vnet/adj/adj.c
src/vnet/adj/adj.h
src/vnet/adj/adj_bfd.c [new file with mode: 0644]
src/vnet/adj/adj_delegate.c [new file with mode: 0644]
src/vnet/adj/adj_delegate.h [new file with mode: 0644]
src/vnet/bfd/bfd_main.c
src/vnet/bfd/bfd_main.h
src/vnet/bfd/bfd_udp.h
src/vnet/fib/fib_attached_export.c
src/vnet/fib/fib_attached_export.h
src/vnet/fib/fib_bfd.c [new file with mode: 0644]
src/vnet/fib/fib_entry.c
src/vnet/fib/fib_entry.h
src/vnet/fib/fib_entry_cover.c
src/vnet/fib/fib_entry_cover.h
src/vnet/fib/fib_entry_delegate.c
src/vnet/fib/fib_entry_delegate.h
src/vnet/fib/fib_path.c
src/vnet/fib/fib_test.c
src/vnet/fib/ip4_fib.c
src/vnet/fib/ip6_fib.c
test/framework.py
test/test_bfd.py
test/vpp_papi_provider.py