[ovs-dev] [PATCH 12/17] ofproto-dpif: teach do_xlate_action() goto-table instruction

Isaku Yamahata yamahata at valinux.co.jp
Wed Jul 18 11:41:26 UTC 2012


Signed-off-by: Isaku Yamahata <yamahata at valinux.co.jp>
---
 ofproto/ofproto-dpif.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index 4ffcbd7..641eab0 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -5503,9 +5503,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 == OFPUTIL_OFPIT11_GOTO_TABLE) {
+            return false;
+        }
         break;
+    }
 
     case OFPACT_SET_TUNNEL:
         ctx->flow.tun_id = htonll(ofpact_get_SET_TUNNEL(a)->tun_id);
-- 
1.7.1.1




More information about the dev mailing list