I'd like to use this from connmgr.

Signed-off-by: Ben Pfaff <b...@nicira.com>
---
 ofproto/ofproto-provider.h | 12 ++++++++++++
 ofproto/ofproto.c          | 20 ++++----------------
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h
index c8cd69d..97e5cdd 100644
--- a/ofproto/ofproto-provider.h
+++ b/ofproto/ofproto-provider.h
@@ -405,6 +405,7 @@ void ofproto_rule_unref(struct rule *);
 
 static inline const struct rule_actions * rule_get_actions(const struct rule 
*);
 static inline bool rule_is_table_miss(const struct rule *);
+static inline bool rule_is_hidden(const struct rule *);
 
 /* A set of actions within a "struct rule".
  *
@@ -1743,6 +1744,17 @@ rule_is_table_miss(const struct rule *rule)
     return rule->cr.priority == 0 && cls_rule_is_catchall(&rule->cr);
 }
 
+/* Returns true if 'rule' should be hidden from the controller.
+ *
+ * Rules with priority higher than UINT16_MAX are set up by ofproto itself
+ * (e.g. by in-band control) and are intentionally hidden from the
+ * controller. */
+static inline bool
+rule_is_hidden(const struct rule *rule)
+{
+    return rule->cr.priority > UINT16_MAX;
+}
+
 static inline struct rule *
 rule_from_cls_rule(const struct cls_rule *cls_rule)
 {
diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index 27f5a46..2c6c3ce 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -2751,17 +2751,6 @@ destroy_rule_executes(struct ofproto *ofproto)
     }
 }
 
-/* Returns true if 'rule' should be hidden from the controller.
- *
- * Rules with priority higher than UINT16_MAX are set up by ofproto itself
- * (e.g. by in-band control) and are intentionally hidden from the
- * controller. */
-static bool
-ofproto_rule_is_hidden(const struct rule *rule)
-{
-    return (rule->cr.priority > UINT16_MAX);
-}
-
 static bool
 oftable_is_modifiable(const struct oftable *table,
                       enum ofputil_flow_mod_flags flags)
@@ -3415,7 +3404,7 @@ collect_rule(struct rule *rule, const struct 
rule_criteria *c,
      * rules to be selected.  (This doesn't allow OpenFlow clients to meddle
      * with hidden flows because OpenFlow uses only a 16-bit field to specify
      * priority.) */
-    if (ofproto_rule_is_hidden(rule) && c->cr.priority <= UINT16_MAX) {
+    if (rule_is_hidden(rule) && c->cr.priority <= UINT16_MAX) {
         return 0;
     } else if (rule->pending) {
         return OFPROTO_POSTPONE;
@@ -4388,8 +4377,7 @@ ofproto_rule_send_removed(struct rule *rule, uint8_t 
reason)
     struct ofputil_flow_removed fr;
     long long int used;
 
-    if (ofproto_rule_is_hidden(rule) ||
-        !(rule->flags & OFPUTIL_FF_SEND_FLOW_REM)) {
+    if (rule_is_hidden(rule) || !(rule->flags & OFPUTIL_FF_SEND_FLOW_REM)) {
         return;
     }
 
@@ -4815,7 +4803,7 @@ ofproto_collect_ofmonitor_refresh_rule(const struct 
ofmonitor *m,
 {
     enum nx_flow_monitor_flags update;
 
-    if (ofproto_rule_is_hidden(rule)) {
+    if (rule_is_hidden(rule)) {
         return;
     }
 
@@ -6251,7 +6239,7 @@ ofopgroup_complete(struct ofopgroup *group)
 
               - The operation's only effect was to update rule->modified. */
         if (!(op->error
-              || ofproto_rule_is_hidden(rule)
+              || rule_is_hidden(rule)
               || (op->type == OFOPERATION_MODIFY
                   && !op->actions
                   && rule->flow_cookie == op->flow_cookie))) {
-- 
1.9.1

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to