Vpn to Vni demux table for L3VPN Over VxLAN
[genius.git] / mdsalutil / mdsalutil-api / src / main / java / org / opendaylight / genius / mdsalutil / NwConstants.java
index 93d6a5b0e085b02a065e645428841405e857af68..1a02d893455c9954539f13a99f9ea8aa71685826 100644 (file)
@@ -20,6 +20,13 @@ public final class NwConstants {
     public static final int ETHTYPE_MPLS_UC           = 0X8847;
     public static final int ETHTYPE_PBB               = 0X88E7;
 
+    public static final String MACADDR_SEP = ":";
+
+    public static final String IPV4PREFIX = "/32";
+    public static final String IPV6PREFIX = "/128";
+    public static final String IPV4_SEP = ".";
+    public static final String IPV6_SEP = ":";
+
     //Protocol Type
     public static final int IP_PROT_ICMP = 1;
     public static final int IP_PROT_TCP = 6;
@@ -50,15 +57,17 @@ public final class NwConstants {
     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 IPV6_SERVICE_INDEX = 3;
-    public static final short SCF_SERVICE_INDEX = 4;
-    public static final short SFC_SERVICE_INDEX = 4;
-    public static final short L3VPN_SERVICE_INDEX = 5;
-    public static final short ELAN_SERVICE_INDEX = 6;
+    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 DEFAULT_EGRESS_SERVICE_INDEX = 7;
 
     public static final String DHCP_SERVICE_NAME = "DHCP_SERVICE";
     public static final String ACL_SERVICE_NAME = "ACL_SERVICE";
+    public static final String QOS_SERVICE_NAME = "QOS_SERVICE";
     public static final String IPV6_SERVICE_NAME = "IPV6_SERVICE";
     public static final String SCF_SERVICE_NAME = "SCF_SERVICE";
     public static final String SFC_SERVICE_NAME = "SFC_SERVICE";
@@ -72,6 +81,7 @@ public final class NwConstants {
     public static final String EGRESS_ACL_SERVICE_NAME = "EGRESS_ACL_SERVICE";
 
     public static final BigInteger COOKIE_IPV6_TABLE = new BigInteger("4000000", 16);
+    public static final BigInteger COOKIE_QOS_TABLE = new BigInteger("4000001", 16);
     public static final BigInteger VLAN_TABLE_COOKIE = new BigInteger("8000000", 16);
     public static final BigInteger COOKIE_VM_INGRESS_TABLE = new BigInteger("8000001", 16);
     public static final BigInteger COOKIE_VM_LFIB_TABLE = new BigInteger("8000002", 16);
@@ -86,6 +96,7 @@ public final class NwConstants {
     public static final BigInteger COOKIE_GRE_TRUNK_L2_TABLE = new BigInteger("1400000", 16);
     public static final BigInteger COOKIE_ELAN_INGRESS_TABLE = new BigInteger("8040000", 16);
     public static final BigInteger TUNNEL_TABLE_COOKIE = new BigInteger("9000000", 16);
+    public static final BigInteger COOKIE_ARP_RESPONDER = new BigInteger("8220000", 16);
 
     //Table IDs
     public static final short VLAN_INTERFACE_INGRESS_TABLE = 0;
@@ -97,7 +108,8 @@ 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;
@@ -112,6 +124,8 @@ public final class NwConstants {
     public static final short IPV6_TABLE = 45;
     public static final short OUTBOUND_NAPT_TABLE = 46;
     public static final short NAPT_PFIB_TABLE = 47;
+    public static final short ELAN_BASE_TABLE = 48;
+    public static final short ELAN_SMAC_LEARNED_TABLE = 49;
     public static final short ELAN_SMAC_TABLE = 50;
     public static final short ELAN_DMAC_TABLE = 51;
     public static final short ELAN_UNKNOWN_DMAC_TABLE = 52;
@@ -128,6 +142,7 @@ public final class NwConstants {
     public static final short SFC_TRANSPORT_PATH_MAPPER_ACL_TABLE = 85;
     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 EGRESS_LPORT_DISPATCHER_TABLE = 220;
     public static final short EGRESS_ACL_TABLE = 251;
     public static final short EGRESS_ACL_FILTER_TABLE = 252;
@@ -162,11 +177,11 @@ 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;
         }
 
@@ -174,16 +189,22 @@ public final class NwConstants {
             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);
         }
-    }
 
-    public enum LearnFlowModsType {
-        MATCH_FROM_FIELD, MATCH_FROM_VALUE, COPY_FROM_FIELD, COPY_FROM_VALUE, OUTPUT_TO_PORT;
+        public int getFlowModHeaderLenInt() {
+            return flowModHeaderLen;
+        }
     }
 }