Changes for New Netvirt SFC Classifier
[genius.git] / mdsalutil / mdsalutil-api / src / main / java / org / opendaylight / genius / mdsalutil / NwConstants.java
index 2df16c634a5ab97370c83efe23bf34e6f9e1e506..40da0d51192063d72b55ae69de2cc818c3a5dc88 100644 (file)
@@ -55,14 +55,15 @@ public final class NwConstants {
 
     // Ingress (w.r.t switch) service indexes
     public static final short DEFAULT_SERVICE_INDEX = 0;
-    public static final short ACL_SERVICE_INDEX = 1;
-    public static final short DHCP_SERVICE_INDEX = 2;
-    public static final short QOS_SERVICE_INDEX = 3;
-    public static final short IPV6_SERVICE_INDEX = 4;
-    public static final short SCF_SERVICE_INDEX = 5;
-    public static final short SFC_SERVICE_INDEX = 5;
-    public static final short L3VPN_SERVICE_INDEX = 6;
-    public static final short ELAN_SERVICE_INDEX = 7;
+    public static final short SFC_SERVICE_INDEX = 1;
+    public static final short SCF_SERVICE_INDEX = 1;
+    public static final short ACL_SERVICE_INDEX = 2;
+    public static final short SFC_CLASSIFIER_INDEX = 3;
+    public static final short DHCP_SERVICE_INDEX = 4;
+    public static final short QOS_SERVICE_INDEX = 5;
+    public static final short IPV6_SERVICE_INDEX = 6;
+    public static final short L3VPN_SERVICE_INDEX = 7;
+    public static final short ELAN_SERVICE_INDEX = 8;
     public static final short DEFAULT_EGRESS_SERVICE_INDEX = 7;
 
     public static final String DHCP_SERVICE_NAME = "DHCP_SERVICE";
@@ -73,12 +74,15 @@ public final class NwConstants {
     public static final String SFC_SERVICE_NAME = "SFC_SERVICE";
     public static final String L3VPN_SERVICE_NAME = "L3VPN_SERVICE";
     public static final String ELAN_SERVICE_NAME = "ELAN_SERVICE";
+    public static final String SFC_CLASSIFIER_SERVICE_NAME = "SFC_CLASSIFIER_SERVICE";
     public static final String DEFAULT_EGRESS_SERVICE_NAME = "DEFAULT_EGRESS_SERVICE";
 
     // Egress (w.r.t switch) service indexes
     public static final short EGRESS_ACL_SERVICE_INDEX = 6;
+    public static final short EGRESS_SFC_CLASSIFIER_SERVICE_INDEX = 7;
 
     public static final String EGRESS_ACL_SERVICE_NAME = "EGRESS_ACL_SERVICE";
+    public static final String EGRESS_SFC_CLASSIFIER_SERVICE_NAME = "EGRESS_SFC_CLASSIFIER_SERVICE";
 
     public static final BigInteger COOKIE_IPV6_TABLE = new BigInteger("4000000", 16);
     public static final BigInteger COOKIE_QOS_TABLE = new BigInteger("4000001", 16);
@@ -108,17 +112,14 @@ public final class NwConstants {
     public static final short L3_GW_MAC_TABLE = 19;
     public static final short L3_LFIB_TABLE = 20;
     public static final short L3_FIB_TABLE = 21;
-    public static final short L3_SUBNET_ROUTE_TABLE=22;
+    public static final short L3_SUBNET_ROUTE_TABLE = 22;
+    public static final short L3VNI_EXTERNAL_TUNNEL_DEMUX_TABLE = 23;
     public static final short PDNAT_TABLE = 25;
     public static final short PSNAT_TABLE = 26;
     public static final short DNAT_TABLE = 27;
     public static final short SNAT_TABLE = 28;
     public static final short INTERNAL_TUNNEL_TABLE = 36;
     public static final short EXTERNAL_TUNNEL_TABLE = 38;
-    public static final short INGRESS_ACL_TABLE = 40;
-    public static final short INGRESS_ACL_FILTER_TABLE = 41;
-    public static final short INGRESS_LEARN_TABLE = 41;
-    public static final short INGRESS_LEARN2_TABLE = 42;
     public static final short INBOUND_NAPT_TABLE = 44;
     public static final short IPV6_TABLE = 45;
     public static final short OUTBOUND_NAPT_TABLE = 46;
@@ -134,7 +135,7 @@ public final class NwConstants {
     public static final short SCF_DOWN_SUB_FILTER_TCP_BASED_TABLE = 72;
     public static final short SCF_CHAIN_FWD_TABLE = 75;
     public static final short L3_INTERFACE_TABLE = 80;
-    public static final short ARP_RESPONDER_TABLE= 81;
+    public static final short ARP_RESPONDER_TABLE = 81;
     public static final short SFC_TRANSPORT_CLASSIFIER_TABLE = 82;
     public static final short SFC_TRANSPORT_INGRESS_TABLE = 83;
     public static final short SFC_TRANSPORT_PATH_MAPPER_TABLE = 84;
@@ -142,11 +143,23 @@ public final class NwConstants {
     public static final short SFC_TRANSPORT_NEXT_HOP_TABLE = 86;
     public static final short SFC_TRANSPORT_EGRESS_TABLE = 87;
     public static final short QOS_DSCP_TABLE = 90;
+    public static final short INGRESS_SFC_CLASSIFIER_FILTER_TABLE = 100;
+    public static final short INGRESS_SFC_CLASSIFIER_ACL_TABLE = 101;
+    public static final short EGRESS_SFC_CLASSIFIER_FILTER_TABLE = 110;
+    public static final short EGRESS_SFC_CLASSIFIER_ACL_TABLE = 111;
+    public static final short INGRESS_ACL_TABLE = 211;
+    public static final short INGRESS_ACL_REMOTE_ACL_TABLE = 212;
+    public static final short INGRESS_ACL_FILTER_TABLE = 213;
+    public static final short INGRESS_LEARN_TABLE = 212;
+    public static final short INGRESS_LEARN_ACL_REMOTE_ACL_TABLE = 213;
+    public static final short INGRESS_LEARN_ACL_FILTER_TABLE = 214;
     public static final short EGRESS_LPORT_DISPATCHER_TABLE = 220;
-    public static final short EGRESS_ACL_TABLE = 251;
-    public static final short EGRESS_ACL_FILTER_TABLE = 252;
-    public static final short EGRESS_LEARN_TABLE = 252;
-    public static final short EGRESS_LEARN2_TABLE = 253;
+    public static final short EGRESS_ACL_TABLE = 241;
+    public static final short EGRESS_ACL_REMOTE_ACL_TABLE = 242;
+    public static final short EGRESS_ACL_FILTER_TABLE = 243;
+    public static final short EGRESS_LEARN_TABLE = 242;
+    public static final short EGRESS_LEARN_ACL_REMOTE_ACL_TABLE = 243;
+    public static final short EGRESS_LEARN_ACL_FILTER_TABLE = 244;
 
     public enum NxmOfFieldType {
         NXM_OF_IN_PORT(0x0000, 0, 2, 16),
@@ -176,29 +189,34 @@ public final class NwConstants {
         NXM_NX_REG6(0x0001, 6, 4, -1),
         NXM_NX_REG7(0x0001, 7, 4, -1);
 
-        long hexType;
-        long flowModHeaderLen;
+        long type;
+        int flowModHeaderLen;
 
-        NxmOfFieldType(long vendor, long field, long length, long flowModHeaderLen) {
-            hexType = nxmHeader(vendor, field, length);
+        NxmOfFieldType(long vendor, long field, long length, int flowModHeaderLen) {
+            type = nxmHeader(vendor, field, length);
             this.flowModHeaderLen = flowModHeaderLen;
         }
 
         private static long nxmHeader(long vendor, long field, long length) {
-            return ((vendor) << 16) | ((field) << 9) | (length);
+            return vendor << 16 | field << 9 | length;
         }
 
+        @Deprecated
         public String getHexType() {
-            return String.valueOf(hexType);
+            return String.valueOf(type);
         }
 
+        public long getType() {
+            return type;
+        }
+
+        @Deprecated
         public String getFlowModHeaderLen() {
             return String.valueOf(flowModHeaderLen);
         }
-    }
 
-    @Deprecated
-    public enum LearnFlowModsType {
-        MATCH_FROM_FIELD, MATCH_FROM_VALUE, COPY_FROM_FIELD, COPY_FROM_VALUE, OUTPUT_TO_PORT
+        public int getFlowModHeaderLenInt() {
+            return flowModHeaderLen;
+        }
     }
 }