meta-flow: Correctly set destination MAC in mf_set_flow_value().
[sliver-openvswitch.git] / ofproto / fail-open.h
index c0ada2e..51fa0b9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2009 Nicira Networks.
+ * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 #include <stdint.h>
 #include "flow.h"
 
+struct connmgr;
 struct fail_open;
 struct ofproto;
-struct rconn;
-struct switch_status;
 
-struct fail_open *fail_open_create(struct ofproto *, int trigger_duration,
-                                   struct switch_status *,
-                                   struct rconn *controller);
-void fail_open_set_trigger_duration(struct fail_open *, int trigger_duration);
+/* Priority of the rule added by the fail-open subsystem when a switch enters
+ * fail-open mode.  This priority value uniquely identifies a fail-open flow
+ * (OpenFlow priorities max out at 65535 and nothing else in Open vSwitch
+ * creates flows with this priority).  And "f0" is mnemonic for "fail open"! */
+#define FAIL_OPEN_PRIORITY 0xf0f0f0
+
+struct fail_open *fail_open_create(struct ofproto *, struct connmgr *);
 void fail_open_destroy(struct fail_open *);
 void fail_open_wait(struct fail_open *);
+bool fail_open_is_active(const struct fail_open *);
 void fail_open_run(struct fail_open *);
+void fail_open_maybe_recover(struct fail_open *);
 void fail_open_flushed(struct fail_open *);
 
 #endif /* fail-open.h */