Merge "Set VRF-ID metadata so it would not to override split-horizon bit"
[genius.git] / mdsalutil / mdsalutil-api / src / main / java / org / opendaylight / genius / mdsalutil / NwConstants.java
1 /*
2  * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.genius.mdsalutil;
9
10 import java.math.BigInteger;
11
12 public final class NwConstants {
13
14     // EthType Values
15     public static final int ETHTYPE_802_1Q            = 0X8100;
16     public static final int ETHTYPE_IPV4              = 0X0800;
17     public static final int ETHTYPE_IPV6              = 0x86dd;
18     public static final int ETHTYPE_ARP               = 0X0806;
19
20     public static final int ETHTYPE_MPLS_UC           = 0X8847;
21     public static final int ETHTYPE_PBB               = 0X88E7;
22
23     //Protocol Type
24     public static final int IP_PROT_ICMP = 1;
25     public static final int IP_PROT_TCP = 6;
26     public static final int IP_PROT_UDP = 17;
27     public static final int IP_PROT_GRE = 47;
28
29     //ARP TYPE
30     public static final int ARP_REQUEST = 1;
31     public static final int ARP_REPLY = 2;
32
33     //Default Port
34     public static final int UDP_DEFAULT_PORT = 4789;
35
36
37     // Flow Actions
38     public static final int ADD_FLOW = 0;
39     public static final int DEL_FLOW = 1;
40     public static final int MOD_FLOW = 2;
41
42     // Flow Constants
43     public static final String FLOWID_SEPARATOR = ".";
44     public static final int TABLE_MISS_FLOW = 0;
45     public static final int TABLE_MISS_PRIORITY = 0;
46
47     public static final int DEFAULT_ARP_FLOW_PRIORITY = 100;
48
49     // Ingress (w.r.t switch) service indexes
50     public static final short DHCP_SERVICE_INDEX = 1;
51     public static final short ACL_SERVICE_INDEX = 2;
52     public static final short IPV6_SERVICE_INDEX = 3;
53     public static final short SCF_SERVICE_INDEX = 4;
54     public static final short L3VPN_SERVICE_INDEX = 5;
55     public static final short ELAN_SERVICE_INDEX = 6;
56
57     // Egress (w.r.t switch) service indexes
58     public static final short INGRESS_ACL_SERVICE_INDEX = 6;
59
60     public static final BigInteger COOKIE_IPV6_TABLE = new BigInteger("4000000", 16);
61     public static final BigInteger VLAN_TABLE_COOKIE = new BigInteger("8000000", 16);
62     public static final BigInteger COOKIE_VM_INGRESS_TABLE = new BigInteger("8000001", 16);
63     public static final BigInteger COOKIE_VM_LFIB_TABLE = new BigInteger("8000002", 16);
64     public static final BigInteger COOKIE_VM_FIB_TABLE =  new BigInteger("8000003", 16);
65     public static final BigInteger COOKIE_DNAT_TABLE = new BigInteger("8000004", 16);
66     public static final BigInteger COOKIE_TS_TABLE = new BigInteger("8000005", 16);
67     public static final BigInteger COOKIE_SNAT_TABLE = new BigInteger("8000006", 16);
68     public static final BigInteger COOKIE_OUTBOUND_NAPT_TABLE = new BigInteger("8000008", 16);
69     public static final BigInteger COOKIE_VXLAN_TRUNK_L2_TABLE = new BigInteger("1200000", 16);
70     public static final BigInteger COOKIE_GRE_TRUNK_L2_TABLE = new BigInteger("1400000", 16);
71     public static final BigInteger COOKIE_ELAN_INGRESS_TABLE = new BigInteger("8040000", 16);
72     public static final BigInteger TUNNEL_TABLE_COOKIE = new BigInteger("9000000", 16);
73
74     //Table IDs
75     public static final short VLAN_INTERFACE_INGRESS_TABLE = 0;
76     public static final short VXLAN_TRUNK_INTERFACE_TABLE = 10;
77     public static final short TRUNK_L2_TABLE = 11;
78     public static final short GRE_TRUNK_INTERFACE_TABLE = 12;
79     public static final short LPORT_DISPATCHER_TABLE = 17;
80     public static final short DHCP_TABLE_EXTERNAL_TUNNEL = 18;
81     public static final short DHCP_TABLE = 19;
82     public static final short L3_LFIB_TABLE = 20;
83     public static final short L3_FIB_TABLE = 21;
84     public static final short L3_SUBNET_ROUTE_TABLE=22;
85     public static final short PDNAT_TABLE = 25;
86     public static final short PSNAT_TABLE = 26;
87     public static final short DNAT_TABLE = 27;
88     public static final short SNAT_TABLE = 28;
89     public static final short INTERNAL_TUNNEL_TABLE = 36;
90     public static final short EXTERNAL_TUNNEL_TABLE = 38;
91     public static final short EGRESS_ACL_TABLE_ID = 40;
92     public static final short EGRESS_ACL_FILTER_TABLE_ID = 41;
93     /**
94      * @deprecated Use {@link #EGRESS_ACL_FILTER_TABLE_ID} instead.
95      */
96     @Deprecated
97     public static final short EGRESS_ACL_NEXT_TABLE_ID = 41;
98     public static final short INBOUND_NAPT_TABLE = 44;
99     public static final short IPV6_TABLE = 45;
100     public static final short OUTBOUND_NAPT_TABLE = 46;
101     public static final short NAPT_PFIB_TABLE = 47;
102     public static final short ELAN_SMAC_TABLE = 50;
103     public static final short ELAN_DMAC_TABLE = 51;
104     public static final short ELAN_UNKNOWN_DMAC_TABLE = 52;
105     public static final short ELAN_FILTER_EQUALS_TABLE = 55;
106     public static final short SCF_UP_SUB_FILTER_TCP_BASED_TABLE = 70;
107     public static final short SCF_DOWN_SUB_FILTER_TCP_BASED_TABLE = 72;
108     public static final short SCF_CHAIN_FWD_TABLE = 75;
109     public static final short L3_INTERFACE_TABLE = 80;
110     public static final short INGRESS_ACL_TABLE_ID = 251;
111     public static final short INGRESS_ACL_FILTER_TABLE_ID = 252;
112     /**
113      * @deprecated Use {@link #INGRESS_ACL_FILTER_TABLE_ID} instead.
114      */
115     @Deprecated
116     public static final short INGRESS_ACL_NEXT_TABLE_ID = 252;
117
118
119  }