blob: 81fd064576136ddf8ee5e5f9cf86346958c18236 [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 Li43244382021-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 Li556709c2021-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 Li858ccd72021-02-04 17:25:01 +090060 public static final int TENANT_ARP_TABLE = 30;
61 public static final int TENANT_ICMP_TABLE = 35;
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;
72 public static final int PRIORITY_TUNNEL_RULE = 31000;
Jian Lif97a07e2021-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 Li3ba5c582021-01-14 11:30:36 +090079 public static final int CLI_IP_ADDRESS_AVAILABILITY = 15;
Jian Lif97a07e2021-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 Liac31f652021-01-17 02:18:30 +090083 public static final int CLI_STATUS_LENGTH = 15;
Jian Lif97a07e2021-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 Li810f58c2021-02-27 01:10:50 +090090 public static final int CLI_FLAG_LENGTH = 10;
Jian Li1c10cf22021-03-05 01:32:04 +090091 public static final int CLI_NUMBER_LENGTH = 10;
Jian Lif97a07e2021-01-13 18:05:00 +090092 public static final int CLI_MARGIN_LENGTH = 2;
Daniel Parka8968802021-02-25 09:14:22 +090093
94 public static final int PRIORITY_STATEFUL_SNAT_RULE = 40500;
Jian Li43244382021-01-09 00:19:02 +090095}