[ovs-dev] [PATCH v2 08/11] ofproto-dpif: teach do_xlate_action() OFPACT_APPLY_ACTIONS

Isaku Yamahata yamahata at valinux.co.jp
Fri Jul 20 02:23:10 UTC 2012


Signed-off-by: Isaku Yamahata <yamahata at valinux.co.jp>
---
v2
- rewrite for ofp_intruction
---
 ofproto/ofproto-dpif.c |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index e624f50..aae60a9 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -5434,6 +5434,7 @@ static bool
 do_xlate_action(const struct ofpact *a, struct action_xlate_ctx *ctx)
 {
     struct ofpact_controller *controller;
+    struct ofpact_instruction *instruction;
 
     switch (a->type) {
     case OFPACT_OUTPUT:
@@ -5571,7 +5572,24 @@ do_xlate_action(const struct ofpact *a, struct action_xlate_ctx *ctx)
         break;
 
     case OFPACT_INSTRUCTION:
-        NOT_REACHED();      /* TODO:XXX */
+        instruction = ofpact_get_INSTRUCTION(a);
+        switch (instruction->type) {
+        case OVSINST_OFPIT11_APPLY_ACTIONS:
+            /* nothing */
+            break;
+        case OVSINST_OFPIT11_CLEAR_ACTIONS:
+            NOT_REACHED();      /* TODO:XXX */
+            break;
+        case OVSINST_OFPIT11_WRITE_ACTIONS:
+            NOT_REACHED();      /* TODO:XXX */
+            break;
+        case OVSINST_OFPIT11_WRITE_METADATA:
+            NOT_REACHED();      /* TODO:XXX */
+            break;
+        case OVSINST_OFPIT11_GOTO_TABLE:
+            NOT_REACHED();      /* TODO:XXX */
+            break;
+        }
         break;
     }
 
-- 
1.7.1.1




More information about the dev mailing list