Suggested by Isaku Yamahata

Cc: Isaku Yamahata <yamah...@valinux.co.jp?
Signed-off-by: Simon Horman <ho...@verge.net.au>

---

v7
* Initial post
---
 lib/nx-match.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/lib/nx-match.c b/lib/nx-match.c
index 0f67692..2498b9b 100644
--- a/lib/nx-match.c
+++ b/lib/nx-match.c
@@ -491,7 +491,6 @@ nx_put_match(struct ofpbuf *b, bool oxm, const struct 
cls_rule *cr,
     const struct flow *flow = &cr->flow;
     const size_t start_len = b->size;
     int match_len;
-    int i;
 
     BUILD_ASSERT_DECL(FLOW_WC_SEQ == 14);
 
@@ -574,12 +573,16 @@ nx_put_match(struct ofpbuf *b, bool oxm, const struct 
cls_rule *cr,
     }
 
     /* Tunnel ID. */
-    nxm_put_64m(b, NXM_NX_TUN_ID, flow->tun_id, cr->wc.tun_id_mask);
+    if (!oxm) {
+        int i;
+
+        nxm_put_64m(b, NXM_NX_TUN_ID, flow->tun_id, cr->wc.tun_id_mask);
 
-    /* Registers. */
-    for (i = 0; i < FLOW_N_REGS; i++) {
-        nxm_put_32m(b, NXM_NX_REG(i),
-                    htonl(flow->regs[i]), htonl(cr->wc.reg_masks[i]));
+        /* Registers. */
+        for (i = 0; i < FLOW_N_REGS; i++) {
+            nxm_put_32m(b, NXM_NX_REG(i),
+                        htonl(flow->regs[i]), htonl(cr->wc.reg_masks[i]));
+        }
     }
 
     /* OpenFlow 1.1+ Metadata. */
-- 
1.7.10.2.484.gcd07cc5

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

Reply via email to