- * creates flows with this priority). */
-#define FAIL_OPEN_PRIORITY 70000
-
-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);
-void fail_open_destroy(struct fail_open *);
+ * creates flows with this priority). And "f0" is mnemonic for "fail open"! */
+#define FAIL_OPEN_PRIORITY 0xf0f0f0
+
+/* Returns true if 'rule' is one created by the "fail open" logic, false
+ * otherwise. */
+static inline bool
+is_fail_open_rule(const struct rule *rule)
+{
+ return rule->cr.priority == FAIL_OPEN_PRIORITY;
+}
+
+struct fail_open *fail_open_create(struct ofproto *, struct connmgr *);
+void fail_open_destroy(struct fail_open *) OVS_EXCLUDED(ofproto_mutex);