blob: cdeffbe54db450dbf58871ba7197bc9dd3b6a102 [file] [log] [blame]
Jian Li43244382021-01-09 00:19:02 +09001/*
2 * Copyright 2021-present Open Networking Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.kubevirtnetworking.api;
17
18import org.onlab.packet.MacAddress;
19
20/**
21 * Provides constants used in KubevirtNetworking.
22 */
23public final class Constants {
24
25 private Constants() {
26 }
27
28 public static final String KUBEVIRT_NETWORKING_APP_ID =
29 "org.onosproject.kubevirtnetworking";
30 public static final String DEFAULT_GATEWAY_MAC_STR = "fe:00:00:00:00:02";
31 public static final MacAddress DEFAULT_GATEWAY_MAC =
32 MacAddress.valueOf(DEFAULT_GATEWAY_MAC_STR);
33
Jian Li858ccd72021-02-04 17:25:01 +090034 public static final String TENANT_TO_TUNNEL_PREFIX = "i-to-t-";
35 public static final String TUNNEL_TO_TENANT_PREFIX = "t-to-i-";
36
Jian Li8f944d42021-03-23 00:43:29 +090037 // provider and VLAN integration bridge flow table index
Jian Li43244382021-01-09 00:19:02 +090038 public static final int STAT_INBOUND_TABLE = 0;
39 public static final int VTAP_INBOUND_TABLE = 1;
Jian Li43244382021-01-09 00:19:02 +090040 public static final int DHCP_TABLE = 5;
Jian Lif89d9602021-04-27 19:05:49 +090041 public static final int GW_ENTRY_TABLE = 31;
42 public static final int GW_DROP_TABLE = 32;
Jian Li43244382021-01-09 00:19:02 +090043 public static final int ARP_TABLE = 35;
44 public static final int ACL_EGRESS_TABLE = 40;
Jian Li43244382021-01-09 00:19:02 +090045 public static final int ACL_RECIRC_TABLE = 43;
Jian Li8f944d42021-03-23 00:43:29 +090046 public static final int ACL_INGRESS_TABLE = 44;
47 public static final int ACL_CT_TABLE = 45;
Jian Li43244382021-01-09 00:19:02 +090048 public static final int STAT_OUTBOUND_TABLE = 70;
49 public static final int VTAP_OUTBOUND_TABLE = 71;
50 public static final int FORWARDING_TABLE = 80;
51 public static final int ERROR_TABLE = 100;
52
Jian Li8f944d42021-03-23 00:43:29 +090053 // tenant (VXLAN/GRE/GENEVE) integration bridge flow table index
Jian Li556709c2021-02-03 17:54:28 +090054 public static final int TENANT_INBOUND_TABLE = 0;
55 public static final int TENANT_DHCP_TABLE = 5;
Jian Li858ccd72021-02-04 17:25:01 +090056 public static final int TENANT_ARP_TABLE = 30;
57 public static final int TENANT_ICMP_TABLE = 35;
Jian Li8f944d42021-03-23 00:43:29 +090058 public static final int TENANT_ACL_EGRESS_TABLE = 40;
59 public static final int TENANT_ACL_RECIRC_TABLE = 43;
60 public static final int TENANT_ACL_INGRESS_TABLE = 44;
61 public static final int TENANT_ACL_CT_TABLE = 45;
Jian Li556709c2021-02-03 17:54:28 +090062 public static final int TENANT_FORWARDING_TABLE = 80;
63
Jian Li858ccd72021-02-04 17:25:01 +090064 // tunnel bridge flow table index
65 public static final int TUNNEL_DEFAULT_TABLE = 0;
66
Jian Li43244382021-01-09 00:19:02 +090067 // flow rule priority
Jian Li858ccd72021-02-04 17:25:01 +090068 public static final int PRIORITY_ICMP_RULE = 43000;
69 public static final int PRIORITY_FORWARDING_RULE = 30000;
Jian Lica20b712021-01-18 00:19:31 +090070 public static final int PRIORITY_DHCP_RULE = 42000;
Jian Li858ccd72021-02-04 17:25:01 +090071 public static final int PRIORITY_ARP_GATEWAY_RULE = 41000;
Jian Li8f944d42021-03-23 00:43:29 +090072 public static final int PRIORITY_ARP_DEFAULT_RULE = 40000;
Jian Li858ccd72021-02-04 17:25:01 +090073 public static final int PRIORITY_TUNNEL_RULE = 31000;
Jian Lif97a07e2021-01-13 18:05:00 +090074
Jian Li8f944d42021-03-23 00:43:29 +090075 public static final int PRIORITY_IP_INGRESS_RULE = 19000;
76 public static final int PRIORITY_IP_EGRESS_RULE = 18000;
77 public static final int PRIORITY_ACL_RULE = 31000;
78 public static final int PRIORITY_ACL_INGRESS_RULE = 30000;
79 public static final int PRIORITY_CT_HOOK_RULE = 30500;
80 public static final int PRIORITY_CT_RULE = 32000;
81 public static final int PRIORITY_CT_DROP_RULE = 32500;
82
Jian Lif97a07e2021-01-13 18:05:00 +090083 // CLI item length
84 public static final int CLI_ID_LENGTH = 30;
85 public static final int CLI_NAME_LENGTH = 30;
86 public static final int CLI_IP_ADDRESSES_LENGTH = 50;
87 public static final int CLI_IP_ADDRESS_LENGTH = 25;
Jian Li3ba5c582021-01-14 11:30:36 +090088 public static final int CLI_IP_ADDRESS_AVAILABILITY = 15;
Jian Lif97a07e2021-01-13 18:05:00 +090089 public static final int CLI_MAC_ADDRESS_LENGTH = 25;
90 public static final int CLI_PORTS_LENGTH = 20;
91 public static final int CLI_NAMESPACE_LENGTH = 15;
Jian Liac31f652021-01-17 02:18:30 +090092 public static final int CLI_STATUS_LENGTH = 15;
Jian Lif97a07e2021-01-13 18:05:00 +090093 public static final int CLI_PHASE_LENGTH = 15;
94 public static final int CLI_TYPE_LENGTH = 15;
95 public static final int CLI_TYPES_LENGTH = 30;
96 public static final int CLI_SEG_ID_LENGTH = 10;
97 public static final int CLI_LABELS_LENGTH = 30;
98 public static final int CLI_CONTAINERS_LENGTH = 30;
Jian Li810f58c2021-02-27 01:10:50 +090099 public static final int CLI_FLAG_LENGTH = 10;
Jian Li1c10cf22021-03-05 01:32:04 +0900100 public static final int CLI_NUMBER_LENGTH = 10;
Jian Lif97a07e2021-01-13 18:05:00 +0900101 public static final int CLI_MARGIN_LENGTH = 2;
Daniel Parka8968802021-02-25 09:14:22 +0900102
103 public static final int PRIORITY_STATEFUL_SNAT_RULE = 40500;
Daniel Parkf3136042021-03-10 07:49:11 +0900104 public static final int PRIORITY_FLOATING_IP_RULE = 40800;
Daniel Parkbabde9c2021-03-09 13:37:42 +0900105 public static final int PRIORITY_INTERNAL_ROUTING_RULE = 41000;
Jian Li43244382021-01-09 00:19:02 +0900106}