diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-06-12 07:59:11 -0700 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-06-12 07:59:11 -0700 |
| commit | c43ed2e48af8c787a1ebc4b648f844c44032db35 (patch) | |
| tree | 24e3abff6f724033ab16418961da91ff1ddd6aee /lib/zclient.h | |
| parent | f1aa5d8ac823969694430feec02594c6851e596a (diff) | |
This patch changes BGP from only listening mode for BFD status updates to interactive mode of dynamically registering/deregistering BFD enabled peers with PTM/BFD through zebra. Peer is registered with BFD when it goes into established state and de-registers when it goes out of establish state.
This patch also adds BFD multihop support for BGP. Whether a peer is multi-hop or single hop is determined internally. All IGP peers are considered as multi-hop peers. EBGP peers are considered as single hop unless configured as multi-hop.
BGP BFD command enhancement to configure BFD parameters (detect multiplier, min rx and min tx).
router bgp <as-number>
neighbor <name/ip-address> bfd <detect mult> <min rx> <min tx>
Signed-off-by: Radhika Mahankali <radhika@cumulusnetworks.com>
Reviewed-by: Dinesh G Dutt <ddutt@cumulusnetworks.com>
Reviewed-by: Vipin Kumar <vipin@cumulusnetworks.com>
Reviewed-by: Kanna Rajagopal <kanna@cumulusnetworks.com>
Diffstat (limited to 'lib/zclient.h')
| -rw-r--r-- | lib/zclient.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/zclient.h b/lib/zclient.h index bd4d06647d..ab8c03e2d1 100644 --- a/lib/zclient.h +++ b/lib/zclient.h @@ -94,6 +94,7 @@ struct zclient int (*ipv6_route_delete) (int, struct zclient *, uint16_t); int (*nexthop_update) (int, struct zclient *, uint16_t); int (*import_check_update) (int, struct zclient *, uint16_t); + int (*bfd_dest_replay) (int, struct zclient *, uint16_t); }; /* Zebra API message flag. */ @@ -176,7 +177,9 @@ extern void zclient_create_header (struct stream *, uint16_t); extern struct interface *zebra_interface_add_read (struct stream *); extern struct interface *zebra_interface_state_read (struct stream *s); extern struct connected *zebra_interface_address_read (int, struct stream *); -extern struct interface *zebra_interface_bfd_read (struct stream *s, struct prefix *); +extern struct interface *zebra_interface_bfd_read (struct stream *s, + struct prefix *, + struct prefix *); extern struct nbr_connected *zebra_interface_nbr_address_read (int, struct stream *); extern void zebra_interface_if_set_value (struct stream *, struct interface *); extern void zebra_router_id_update_read (struct stream *s, struct prefix *rid); |
