2 * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
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
8 package org.opendaylight.genius.mdsalutil;
10 import java.math.BigInteger;
12 public final class NwConstants {
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;
20 public static final int ETHTYPE_MPLS_UC = 0X8847;
21 public static final int ETHTYPE_PBB = 0X88E7;
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;
30 public static final int ARP_REQUEST = 1;
31 public static final int ARP_REPLY = 2;
34 public static final int UDP_DEFAULT_PORT = 4789;
38 public static final int ADD_FLOW = 0;
39 public static final int DEL_FLOW = 1;
40 public static final int MOD_FLOW = 2;
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;
47 public static final int DEFAULT_ARP_FLOW_PRIORITY = 100;
49 // Ingress (w.r.t switch) service indexes
50 public static final short DEFAULT_SERVICE_INDEX = 0;
51 public static final short DHCP_SERVICE_INDEX = 1;
52 public static final short ACL_SERVICE_INDEX = 2;
53 public static final short IPV6_SERVICE_INDEX = 3;
54 public static final short SCF_SERVICE_INDEX = 4;
55 public static final short L3VPN_SERVICE_INDEX = 5;
56 public static final short ELAN_SERVICE_INDEX = 6;
57 public static final short DEFAULT_EGRESS_SERVICE_INDEX = 7;
59 public static final String DHCP_SERVICE_NAME = "DHCP_SERVICE";
60 public static final String ACL_SERVICE_NAME = "ACL_SERVICE";
61 public static final String IPV6_SERVICE_NAME = "IPV6_SERVICE";
62 public static final String SCF_SERVICE_NAME = "SCF_SERVICE";
63 public static final String L3VPN_SERVICE_NAME = "L3VPN_SERVICE";
64 public static final String ELAN_SERVICE_NAME = "ELAN_SERVICE";
66 // Egress (w.r.t switch) service indexes
67 public static final short EGRESS_ACL_SERVICE_INDEX = 6;
69 public static final String EGRESS_ACL_SERVICE_NAME = "EGRESS_ACL_SERVICE";
71 * @deprecated Use {@link #EGRESS_ACL_SERVICE_INDEX} instead.
74 public static final short INGRESS_ACL_SERVICE_INDEX = 6;
76 * @deprecated Use {@link #EGRESS_ACL_SERVICE_NAME} instead.
79 public static final String INGRESS_ACL_SERVICE_NAME = "INGRESS_ACL_SERVICE";
81 public static final BigInteger COOKIE_IPV6_TABLE = new BigInteger("4000000", 16);
82 public static final BigInteger VLAN_TABLE_COOKIE = new BigInteger("8000000", 16);
83 public static final BigInteger COOKIE_VM_INGRESS_TABLE = new BigInteger("8000001", 16);
84 public static final BigInteger COOKIE_VM_LFIB_TABLE = new BigInteger("8000002", 16);
85 public static final BigInteger COOKIE_VM_FIB_TABLE = new BigInteger("8000003", 16);
86 public static final BigInteger COOKIE_DNAT_TABLE = new BigInteger("8000004", 16);
87 public static final BigInteger COOKIE_TS_TABLE = new BigInteger("8000005", 16);
88 public static final BigInteger COOKIE_SNAT_TABLE = new BigInteger("8000006", 16);
89 public static final BigInteger EGRESS_DISPATCHER_TABLE_COOKIE = new BigInteger("8000007", 16);
90 public static final BigInteger COOKIE_OUTBOUND_NAPT_TABLE = new BigInteger("8000008", 16);
91 public static final BigInteger COOKIE_VXLAN_TRUNK_L2_TABLE = new BigInteger("1200000", 16);
92 public static final BigInteger COOKIE_GRE_TRUNK_L2_TABLE = new BigInteger("1400000", 16);
93 public static final BigInteger COOKIE_ELAN_INGRESS_TABLE = new BigInteger("8040000", 16);
94 public static final BigInteger TUNNEL_TABLE_COOKIE = new BigInteger("9000000", 16);
97 public static final short VLAN_INTERFACE_INGRESS_TABLE = 0;
98 public static final short VXLAN_TRUNK_INTERFACE_TABLE = 10;
99 public static final short TRUNK_L2_TABLE = 11;
100 public static final short GRE_TRUNK_INTERFACE_TABLE = 12;
101 public static final short LPORT_DISPATCHER_TABLE = 17;
102 public static final short DHCP_TABLE_EXTERNAL_TUNNEL = 18;
103 public static final short DHCP_TABLE = 19;
104 public static final short L3_LFIB_TABLE = 20;
105 public static final short L3_FIB_TABLE = 21;
106 public static final short L3_SUBNET_ROUTE_TABLE=22;
107 public static final short PDNAT_TABLE = 25;
108 public static final short PSNAT_TABLE = 26;
109 public static final short DNAT_TABLE = 27;
110 public static final short SNAT_TABLE = 28;
111 public static final short INTERNAL_TUNNEL_TABLE = 36;
112 public static final short EXTERNAL_TUNNEL_TABLE = 38;
113 public static final short INGRESS_ACL_TABLE = 40;
114 public static final short INGRESS_ACL_FILTER_TABLE = 41;
116 * @deprecated Use {@link #INGRESS_ACL_TABLE} instead.
119 public static final short EGRESS_ACL_TABLE_ID = 40;
121 * @deprecated Use {@link #INGRESS_ACL_FILTER_TABLE} instead.
124 public static final short EGRESS_ACL_NEXT_TABLE_ID = 41;
125 public static final short INBOUND_NAPT_TABLE = 44;
126 public static final short IPV6_TABLE = 45;
127 public static final short OUTBOUND_NAPT_TABLE = 46;
128 public static final short NAPT_PFIB_TABLE = 47;
129 public static final short ELAN_SMAC_TABLE = 50;
130 public static final short ELAN_DMAC_TABLE = 51;
131 public static final short ELAN_UNKNOWN_DMAC_TABLE = 52;
132 public static final short ELAN_FILTER_EQUALS_TABLE = 55;
133 public static final short SCF_UP_SUB_FILTER_TCP_BASED_TABLE = 70;
134 public static final short SCF_DOWN_SUB_FILTER_TCP_BASED_TABLE = 72;
135 public static final short SCF_CHAIN_FWD_TABLE = 75;
136 public static final short L3_INTERFACE_TABLE = 80;
137 public static final short EGRESS_LPORT_DISPATCHER_TABLE = 220;
138 public static final short EGRESS_ACL_TABLE = 251;
139 public static final short EGRESS_ACL_FILTER_TABLE = 252;
141 * @deprecated Use {@link #EGRESS_ACL_TABLE} instead.
144 public static final short INGRESS_ACL_TABLE_ID = 251;
146 * @deprecated Use {@link #EGRESS_ACL_FILTER_TABLE} instead.
149 public static final short INGRESS_ACL_NEXT_TABLE_ID = 252;