aboutsummaryrefslogtreecommitdiff
path: root/ofproto/ofproto.h
diff options
context:
space:
mode:
authorEthan Jackson <ethan@nicira.com>2012-06-08 12:42:42 -0700
committerEthan Jackson <ethan@nicira.com>2013-05-07 16:31:14 -0700
commitccc096898c4618e8869a7696b40ca7f17e8b9560 (patch)
tree43b79acea9358603ad168490b31104e5e7cfb225 /ofproto/ofproto.h
parentfe7744e84b7af87b7da2b58e5bee4713d18fcce6 (diff)
bfd: Implement Bidirectional Forwarding Detection.
Traditionally, Open vSwitch has used a variant of 802.1ag "CFM" for interface liveness detection. This has served us well until now, but has several serious drawbacks which have steadily become more inconvenient. First, the 802.1ag standard does not implement several useful features forcing us to (optionally) break compatibility. Second, 802.1.ag is not particularly popular outside of carrier grade networking equipment. Third, 802.1ag is simply quite awkward. In an effort to solve the aforementioned problems, this patch implements BFD which is ubiquitous, well designed, straight forward, and implements required features in a standard way. The initial cut of the protocol focuses on getting the basics of the specification correct, leaving performance optimizations, and advanced features as future work. The protocol should be considered experimental pending future testing. Signed-off-by: Ethan Jackson <ethan@nicira.com>
Diffstat (limited to 'ofproto/ofproto.h')
-rw-r--r--ofproto/ofproto.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/ofproto/ofproto.h b/ofproto/ofproto.h
index bb799b5e..acb1790c 100644
--- a/ofproto/ofproto.h
+++ b/ofproto/ofproto.h
@@ -33,12 +33,15 @@
extern "C" {
#endif
+struct bfd_cfg;
+struct cfm_settings;
struct cls_rule;
struct netdev;
struct ofproto;
struct ofport;
struct shash;
struct simap;
+struct smap;
struct netdev_stats;
struct ofproto_controller_info {
@@ -255,6 +258,10 @@ void ofproto_port_unregister(struct ofproto *, uint16_t ofp_port);
void ofproto_port_clear_cfm(struct ofproto *, uint16_t ofp_port);
void ofproto_port_set_cfm(struct ofproto *, uint16_t ofp_port,
const struct cfm_settings *);
+void ofproto_port_set_bfd(struct ofproto *, uint16_t ofp_port,
+ const struct smap *cfg);
+int ofproto_port_get_bfd_status(struct ofproto *, uint16_t ofp_port,
+ struct smap *);
int ofproto_port_is_lacp_current(struct ofproto *, uint16_t ofp_port);
int ofproto_port_set_stp(struct ofproto *, uint16_t ofp_port,
const struct ofproto_port_stp_settings *);