blob: a2099e12c90e674d52261e883c500d1ca1c072ad [file] [log] [blame]
Jian Li9871cd52021-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 Li543fe852021-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 Li9871cd52021-01-09 00:19:02 +090037 // flow table index
38 public static final int STAT_INBOUND_TABLE = 0;
39 public static final int VTAP_INBOUND_TABLE = 1;
40 public static final int STAT_FLAT_OUTBOUND_TABLE = 10;
41 public static final int DHCP_TABLE = 5;
42 public static final int VTAG_TABLE = 30;
43 public static final int PRE_FLAT_TABLE = 31;
44 public static final int FLAT_TABLE = 32;
45 public static final int ARP_TABLE = 35;
46 public static final int ACL_EGRESS_TABLE = 40;
47 public static final int ACL_INGRESS_TABLE = 44;
48 public static final int CT_TABLE = 45;
49 public static final int ACL_RECIRC_TABLE = 43;
50 public static final int JUMP_TABLE = 50;
51 public static final int ROUTING_TABLE = 60;
52 public static final int STAT_OUTBOUND_TABLE = 70;
53 public static final int VTAP_OUTBOUND_TABLE = 71;
54 public static final int FORWARDING_TABLE = 80;
55 public static final int ERROR_TABLE = 100;
56
Jian Lib5ab63c2021-02-03 17:54:28 +090057 // tenant integration bridge flow table index
58 public static final int TENANT_INBOUND_TABLE = 0;
59 public static final int TENANT_DHCP_TABLE = 5;
Jian Li543fe852021-02-04 17:25:01 +090060 public static final int TENANT_ARP_TABLE = 30;
61 public static final int TENANT_ICMP_TABLE = 35;
Jian Lib5ab63c2021-02-03 17:54:28 +090062 public static final int TENANT_FORWARDING_TABLE = 80;
63
Jian Li543fe852021-02-04 17:25:01 +090064 // tunnel bridge flow table index
65 public static final int TUNNEL_DEFAULT_TABLE = 0;
66
Jian Li9871cd52021-01-09 00:19:02 +090067 // flow rule priority
Jian Li543fe852021-02-04 17:25:01 +090068 public static final int PRIORITY_ICMP_RULE = 43000;
69 public static final int PRIORITY_FORWARDING_RULE = 30000;
Jian Lid5e8ea82021-01-18 00:19:31 +090070 public static final int PRIORITY_DHCP_RULE = 42000;
Jian Li543fe852021-02-04 17:25:01 +090071 public static final int PRIORITY_ARP_GATEWAY_RULE = 41000;
72 public static final int PRIORITY_TUNNEL_RULE = 31000;
Jian Li260231e2021-01-13 18:05:00 +090073
74 // CLI item length
75 public static final int CLI_ID_LENGTH = 30;
76 public static final int CLI_NAME_LENGTH = 30;
77 public static final int CLI_IP_ADDRESSES_LENGTH = 50;
78 public static final int CLI_IP_ADDRESS_LENGTH = 25;
Jian Li7bca1272021-01-14 11:30:36 +090079 public static final int CLI_IP_ADDRESS_AVAILABILITY = 15;
Jian Li260231e2021-01-13 18:05:00 +090080 public static final int CLI_MAC_ADDRESS_LENGTH = 25;
81 public static final int CLI_PORTS_LENGTH = 20;
82 public static final int CLI_NAMESPACE_LENGTH = 15;
Jian Li105770e2021-01-17 02:18:30 +090083 public static final int CLI_STATUS_LENGTH = 15;
Jian Li260231e2021-01-13 18:05:00 +090084 public static final int CLI_PHASE_LENGTH = 15;
85 public static final int CLI_TYPE_LENGTH = 15;
86 public static final int CLI_TYPES_LENGTH = 30;
87 public static final int CLI_SEG_ID_LENGTH = 10;
88 public static final int CLI_LABELS_LENGTH = 30;
89 public static final int CLI_CONTAINERS_LENGTH = 30;
Jian Li7eb20782021-02-27 01:10:50 +090090 public static final int CLI_FLAG_LENGTH = 10;
Jian Li47e7af72021-03-05 01:32:04 +090091 public static final int CLI_NUMBER_LENGTH = 10;
Jian Li260231e2021-01-13 18:05:00 +090092 public static final int CLI_MARGIN_LENGTH = 2;
Daniel Park4063f402021-02-25 09:14:22 +090093
94 public static final int PRIORITY_STATEFUL_SNAT_RULE = 40500;
Daniel Parke7e3d6a2021-03-10 07:49:11 +090095 public static final int PRIORITY_FLOATING_IP_RULE = 40800;
Daniel Parkcc8e7462021-03-09 13:37:42 +090096 public static final int PRIORITY_INTERNAL_ROUTING_RULE = 41000;
Jian Li9871cd52021-01-09 00:19:02 +090097}