blob: 88ba57cf0591c7bf67785f9513a8a74889c8ff47 [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";
Daniel Park5ff76b72022-09-26 22:58:53 +090031 public static final String KUBERNETES_EXTERNAL_LB_FAKE_MAC_STR = "de:00:00:00:00:01";
32 public static final MacAddress KUBERNETES_EXTERNAL_LB_FAKE_MAC =
33 MacAddress.valueOf(KUBERNETES_EXTERNAL_LB_FAKE_MAC_STR);
Jian Li43244382021-01-09 00:19:02 +090034 public static final MacAddress DEFAULT_GATEWAY_MAC =
35 MacAddress.valueOf(DEFAULT_GATEWAY_MAC_STR);
36
Jian Li858ccd72021-02-04 17:25:01 +090037 public static final String TENANT_TO_TUNNEL_PREFIX = "i-to-t-";
38 public static final String TUNNEL_TO_TENANT_PREFIX = "t-to-i-";
39
Jian Li8f944d42021-03-23 00:43:29 +090040 // provider and VLAN integration bridge flow table index
Jian Li43244382021-01-09 00:19:02 +090041 public static final int STAT_INBOUND_TABLE = 0;
42 public static final int VTAP_INBOUND_TABLE = 1;
Jian Li43244382021-01-09 00:19:02 +090043 public static final int DHCP_TABLE = 5;
Jian Lif89d9602021-04-27 19:05:49 +090044 public static final int GW_ENTRY_TABLE = 31;
45 public static final int GW_DROP_TABLE = 32;
Jian Li43244382021-01-09 00:19:02 +090046 public static final int ARP_TABLE = 35;
47 public static final int ACL_EGRESS_TABLE = 40;
Jian Li43244382021-01-09 00:19:02 +090048 public static final int ACL_RECIRC_TABLE = 43;
Jian Li8f944d42021-03-23 00:43:29 +090049 public static final int ACL_INGRESS_TABLE = 44;
50 public static final int ACL_CT_TABLE = 45;
Jian Li43244382021-01-09 00:19:02 +090051 public static final int STAT_OUTBOUND_TABLE = 70;
52 public static final int VTAP_OUTBOUND_TABLE = 71;
53 public static final int FORWARDING_TABLE = 80;
54 public static final int ERROR_TABLE = 100;
55
Jian Li8f944d42021-03-23 00:43:29 +090056 // tenant (VXLAN/GRE/GENEVE) integration bridge flow table index
Jian Li556709c2021-02-03 17:54:28 +090057 public static final int TENANT_INBOUND_TABLE = 0;
58 public static final int TENANT_DHCP_TABLE = 5;
Jian Li858ccd72021-02-04 17:25:01 +090059 public static final int TENANT_ARP_TABLE = 30;
60 public static final int TENANT_ICMP_TABLE = 35;
Jian Li8f944d42021-03-23 00:43:29 +090061 public static final int TENANT_ACL_EGRESS_TABLE = 40;
62 public static final int TENANT_ACL_RECIRC_TABLE = 43;
63 public static final int TENANT_ACL_INGRESS_TABLE = 44;
64 public static final int TENANT_ACL_CT_TABLE = 45;
Jian Li556709c2021-02-03 17:54:28 +090065 public static final int TENANT_FORWARDING_TABLE = 80;
66
Jian Li858ccd72021-02-04 17:25:01 +090067 // tunnel bridge flow table index
68 public static final int TUNNEL_DEFAULT_TABLE = 0;
69
Jian Li43244382021-01-09 00:19:02 +090070 // flow rule priority
Jian Li858ccd72021-02-04 17:25:01 +090071 public static final int PRIORITY_ICMP_RULE = 43000;
72 public static final int PRIORITY_FORWARDING_RULE = 30000;
Daniel Park328fb602021-05-31 13:49:53 +090073 public static final int PRIORITY_FLOATING_GATEWAY_TUN_BRIDGE_RULE = 32000;
Daniel Park05a94582021-05-12 10:57:02 +090074 public static final int PRIORITY_LB_GATEWAY_TUN_BRIDGE_RULE = 33000;
Jian Lica20b712021-01-18 00:19:31 +090075 public static final int PRIORITY_DHCP_RULE = 42000;
Jian Li858ccd72021-02-04 17:25:01 +090076 public static final int PRIORITY_ARP_GATEWAY_RULE = 41000;
Jian Li8f944d42021-03-23 00:43:29 +090077 public static final int PRIORITY_ARP_DEFAULT_RULE = 40000;
Jian Li858ccd72021-02-04 17:25:01 +090078 public static final int PRIORITY_TUNNEL_RULE = 31000;
Jian Lif97a07e2021-01-13 18:05:00 +090079
Jian Li8f944d42021-03-23 00:43:29 +090080 public static final int PRIORITY_IP_INGRESS_RULE = 19000;
81 public static final int PRIORITY_IP_EGRESS_RULE = 18000;
82 public static final int PRIORITY_ACL_RULE = 31000;
83 public static final int PRIORITY_ACL_INGRESS_RULE = 30000;
84 public static final int PRIORITY_CT_HOOK_RULE = 30500;
85 public static final int PRIORITY_CT_RULE = 32000;
86 public static final int PRIORITY_CT_DROP_RULE = 32500;
87
Jian Lif97a07e2021-01-13 18:05:00 +090088 // CLI item length
89 public static final int CLI_ID_LENGTH = 30;
90 public static final int CLI_NAME_LENGTH = 30;
Jian Licb580422022-02-03 15:08:31 +090091 public static final int CLI_LONG_NAME_LENGTH = 50;
Daniel Park6a83ee62022-10-26 11:57:34 +090092 public static final int CLI_LONG_SERVICE_PORT_LENGTH = 100;
Jian Lif97a07e2021-01-13 18:05:00 +090093 public static final int CLI_IP_ADDRESSES_LENGTH = 50;
94 public static final int CLI_IP_ADDRESS_LENGTH = 25;
Jian Li3ba5c582021-01-14 11:30:36 +090095 public static final int CLI_IP_ADDRESS_AVAILABILITY = 15;
Jian Lif97a07e2021-01-13 18:05:00 +090096 public static final int CLI_MAC_ADDRESS_LENGTH = 25;
97 public static final int CLI_PORTS_LENGTH = 20;
98 public static final int CLI_NAMESPACE_LENGTH = 15;
Jian Liac31f652021-01-17 02:18:30 +090099 public static final int CLI_STATUS_LENGTH = 15;
Jian Lif97a07e2021-01-13 18:05:00 +0900100 public static final int CLI_PHASE_LENGTH = 15;
101 public static final int CLI_TYPE_LENGTH = 15;
102 public static final int CLI_TYPES_LENGTH = 30;
103 public static final int CLI_SEG_ID_LENGTH = 10;
104 public static final int CLI_LABELS_LENGTH = 30;
105 public static final int CLI_CONTAINERS_LENGTH = 30;
Jian Li810f58c2021-02-27 01:10:50 +0900106 public static final int CLI_FLAG_LENGTH = 10;
Jian Li1c10cf22021-03-05 01:32:04 +0900107 public static final int CLI_NUMBER_LENGTH = 10;
Jian Lif97a07e2021-01-13 18:05:00 +0900108 public static final int CLI_MARGIN_LENGTH = 2;
Daniel Parka8968802021-02-25 09:14:22 +0900109
110 public static final int PRIORITY_STATEFUL_SNAT_RULE = 40500;
Daniel Parkc1ba1f42022-05-16 17:30:24 +0900111 public static final int PRIORITY_FLOATING_IP_UPSTREAM_RULE = 40800;
112 public static final int PRIORITY_FLOATING_IP_DOWNSTREAM_RULE = 40700;
Daniel Park5ff76b72022-09-26 22:58:53 +0900113 public static final int PRIORITY_ELB_UPSTREAM_RULE = 39000;
114 public static final int PRIORITY_ELB_DOWNSTREAM_RULE = 39500;
Daniel Parkc1ba1f42022-05-16 17:30:24 +0900115
Daniel Parkbabde9c2021-03-09 13:37:42 +0900116 public static final int PRIORITY_INTERNAL_ROUTING_RULE = 41000;
Daniel Park05a94582021-05-12 10:57:02 +0900117 public static final int PRIORITY_LB_RULE = 41500;
118 public static final int PRIORITY_LB_FIP_RULE = 41500;
Jian Li43244382021-01-09 00:19:02 +0900119}