summaryrefslogtreecommitdiff
path: root/lib/zclient.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-06-12 07:59:11 -0700
committerDonald Sharp <sharpd@cumulusnetworks.com>2015-06-12 07:59:11 -0700
commitc43ed2e48af8c787a1ebc4b648f844c44032db35 (patch)
tree24e3abff6f724033ab16418961da91ff1ddd6aee /lib/zclient.h
parentf1aa5d8ac823969694430feec02594c6851e596a (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.h5
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);