Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp>
---
v2
- changed for ofp_instruction
---
 lib/ofp-actions.c      |    3 +--
 ofproto/ofproto-dpif.c |   11 ++++++++---
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c
index 6a9633f..0c3b95f 100644
--- a/lib/ofp-actions.c
+++ b/lib/ofp-actions.c
@@ -921,8 +921,7 @@ ofpacts_pull_openflow11_instructions(struct ofpbuf 
*openflow,
         resubmit->table_id = oigt->table_id;
     }
 
-    if (insts[OVSINST_OFPIT11_GOTO_TABLE] ||
-        insts[OVSINST_OFPIT11_WRITE_METADATA] ||
+    if (insts[OVSINST_OFPIT11_WRITE_METADATA] ||
         insts[OVSINST_OFPIT11_WRITE_ACTIONS] ||
         insts[OVSINST_OFPIT11_CLEAR_ACTIONS]) {
         error = OFPERR_OFPBIC_UNSUP_INST;
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index aae60a9..0e831a5 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -5504,9 +5504,14 @@ do_xlate_action(const struct ofpact *a, struct 
action_xlate_ctx *ctx)
         ctx->flow.tp_dst = htons(ofpact_get_SET_L4_DST_PORT(a)->port);
         break;
 
-    case OFPACT_RESUBMIT:
-        xlate_ofpact_resubmit(ctx, ofpact_get_RESUBMIT(a));
+    case OFPACT_RESUBMIT: {
+        struct ofpact_resubmit *resubmit = ofpact_get_RESUBMIT(a);
+        xlate_ofpact_resubmit(ctx, resubmit);
+        if (resubmit->ofpact.compat == -1) { /* TODO:XXX use symbol */
+            return false;
+        }
         break;
+    }
 
     case OFPACT_SET_TUNNEL:
         ctx->flow.tun_id = htonll(ofpact_get_SET_TUNNEL(a)->tun_id);
@@ -5587,7 +5592,7 @@ do_xlate_action(const struct ofpact *a, struct 
action_xlate_ctx *ctx)
             NOT_REACHED();      /* TODO:XXX */
             break;
         case OVSINST_OFPIT11_GOTO_TABLE:
-            NOT_REACHED();      /* TODO:XXX */
+            /* nothing */
             break;
         }
         break;
-- 
1.7.1.1

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

Reply via email to