VOL-736: Initial Commit. Not Completed yet.

We will use Existing architecture of Flow Decomposer passing down to both OLT Adapter and ONU Adapter.  The Technology Profile Flow Table ID (range 64-255) and Meter Programming OpenFlow Messages MUST be passed unmodified down to the OLT and ONU Adapters.

Change-Id: Ib4d21d1cc011ac4ceab536946cb727859cb2b525
diff --git a/ofagent/converter.py b/ofagent/converter.py
index c6386b3..fb7aae5 100644
--- a/ofagent/converter.py
+++ b/ofagent/converter.py
@@ -170,6 +170,10 @@
         elif type == pb2.OFPIT_GOTO_TABLE:
             return of13.instruction.goto_table(
                 table_id=inst['goto_table']['table_id'])
+        elif type == pb2.OFPIT_WRITE_ACTIONS:
+            return of13.instruction.write_actions(
+                actions=[make_loxi_action(a)
+                         for a in inst['actions']['actions']])
 
         else:
             raise NotImplementedError('Instruction type %d' % type)
@@ -427,6 +431,13 @@
         output=pb2.ofp_action_output(port=lo.port, max_len=lo.max_len))
 
 
+def loxi_write_actions_to_ofp_instruction(lo):
+    return pb2.ofp_instruction(
+        type=pb2.OFPIT_WRITE_ACTIONS,
+        actions=pb2.ofp_instruction_actions(
+            actions=[to_grpc(a) for a in lo.actions]))
+
+
 def loxi_group_action_to_ofp_action(lo):
     return pb2.ofp_action(
         type=pb2.OFPAT_GROUP,
@@ -483,6 +494,7 @@
 
     of13.instruction.apply_actions: loxi_apply_actions_to_ofp_instruction,
     of13.instruction.clear_actions: loxi_clear_actions_to_ofp_instruction,
+    of13.instruction.write_actions: loxi_write_actions_to_ofp_instruction,
     of13.instruction.goto_table: loxi_goto_table_to_ofp_instruction,
 
     of13.action.output: loxi_output_action_to_ofp_action,