support for corsa pipeline. EXPERIMENTAL.

Change-Id: Ic3db0a7a18f11c41c8a84f25a249dfb63109da97
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
index d6fbaf9..56ced3d 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
@@ -159,8 +159,10 @@
             sw.sendMsg(FlowModBuilder.builder(flowRule, sw.factory(),
                     Optional.empty()).buildFlowAdd());
         } else {
+            OpenFlowSwitch.TableType type = getTableType(flowRule.type());
             sw.sendMsg(FlowModBuilder.builder(flowRule, sw.factory(),
-                    Optional.empty()).buildFlowAdd(), getTableType(flowRule.type()));
+                                              Optional.empty()).buildFlowAdd(),
+                                              type);
         }
     }
 
@@ -230,12 +232,23 @@
 
     private OpenFlowSwitch.TableType getTableType(FlowRule.Type type) {
         switch (type) {
+
+            case DEFAULT:
+                return OpenFlowSwitch.TableType.NONE;
             case IP:
                 return OpenFlowSwitch.TableType.IP;
             case MPLS:
                 return OpenFlowSwitch.TableType.MPLS;
             case ACL:
                 return OpenFlowSwitch.TableType.ACL;
+            case VLAN_MPLS:
+                return OpenFlowSwitch.TableType.VLAN_MPLS;
+            case VLAN:
+                return OpenFlowSwitch.TableType.VLAN;
+            case ETHER:
+                return OpenFlowSwitch.TableType.ETHER;
+            case COS:
+                return OpenFlowSwitch.TableType.COS;
             default:
                 return OpenFlowSwitch.TableType.NONE;
         }