blob: 7d62818e2b35e501f8f8bfdd664720cfc6788e1c [file] [log] [blame]
Priyanka B0bee1f82015-10-13 15:39:49 +05301/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2015-present Open Networking Foundation
Priyanka B0bee1f82015-10-13 15:39:49 +05303 *
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.bgpio.util;
17
18/**
19 * Provides Constants usage for BGP.
20 */
21public final class Constants {
22 private Constants() {
23 }
24
Ankur Aggarwal2d7ff642020-07-29 08:46:04 +000025 public static final byte EMPTY = 0x00; //Empty byte
26
Priyanka B0bee1f82015-10-13 15:39:49 +053027 public static final short TYPE_AND_LEN = 4;
28 public static final short TYPE_AND_LEN_AS_SHORT = 4;
29 public static final short TYPE_AND_LEN_AS_BYTE = 3;
30 public static final int ISIS_LEVELONE = 1;
31 public static final int ISIS_LEVELTWO = 2;
32 public static final int OSPFV2 = 3;
33 public static final int DIRECT = 4;
34 public static final int STATIC_CONFIGURATION = 5;
35 public static final int OSPFV3 = 6;
36 public static final short AFI_VALUE = 16388;
37 public static final byte VPN_SAFI_VALUE = (byte) 0x80;
38 public static final byte SAFI_VALUE = 71;
Shashikanth VHf04ab492016-02-10 11:35:11 +053039 public static final short AFI_IPV4_UNICAST = 1;
Ankur Aggarwalf363d1a2019-11-11 14:56:18 +053040 public static final short AFI_IPV6_UNICAST = 2;
41 public static final byte SAFI_UNICAST = 1;
Shashikanth VH0a82a8e2016-02-02 20:42:53 +053042 public static final short AFI_FLOWSPEC_VALUE = 1;
43 public static final byte SAFI_FLOWSPEC_VALUE = (byte) 133;
44 public static final byte VPN_SAFI_FLOWSPEC_VALUE = (byte) 134;
45
Shashikanth VHb650bfa2016-04-18 12:54:03 +053046 /* TODO: The Capability Code
47 for this capability is to be specified by the IANA.*/
48 public static final short AFI_FLOWSPEC_RPD_VALUE = 1;
Shashikanth VHb58cfd52016-04-21 16:45:50 +053049 public static final byte SAFI_FLOWSPEC_RPD_VALUE = (byte) 133;
50 public static final byte VPN_SAFI_FLOWSPEC_RDP_VALUE = (byte) 134;
Shashikanth VHb650bfa2016-04-18 12:54:03 +053051
Mohammad Shahid30fedc52017-08-09 11:49:40 +053052 public static final short AFI_EVPN_VALUE = 25;
53 public static final byte SAFI_EVPN_VALUE = (byte) 70;
54
Shashikanth VHb650bfa2016-04-18 12:54:03 +053055 public static final byte RPD_CAPABILITY_RECEIVE_VALUE = 0;
56 public static final byte RPD_CAPABILITY_SEND_VALUE = 1;
57 public static final byte RPD_CAPABILITY_SEND_RECEIVE_VALUE = 2;
58
Priyanka B0ab34b92015-12-03 21:13:52 +053059 public static final int EXTRA_TRAFFIC = 0x01;
60 public static final int UNPROTECTED = 0x02;
61 public static final int SHARED = 0x04;
62 public static final int DEDICATED_ONE_ISTO_ONE = 0x08;
63 public static final int DEDICATED_ONE_PLUS_ONE = 0x10;
64 public static final int ENHANCED = 0x20;
65 public static final int RESERVED = 0x40;
Shashikanth VH0a82a8e2016-02-02 20:42:53 +053066
Shashikanth VH826990b2016-02-11 16:52:46 +053067 public static final byte BGP_EXTENDED_COMMUNITY = 0x10;
68
Shashikanth VH0a82a8e2016-02-02 20:42:53 +053069 public static final byte BGP_FLOWSPEC_DST_PREFIX = 0x01;
70 public static final byte BGP_FLOWSPEC_SRC_PREFIX = 0x02;
71 public static final byte BGP_FLOWSPEC_IP_PROTO = 0x03;
72 public static final byte BGP_FLOWSPEC_PORT = 0x04;
73 public static final byte BGP_FLOWSPEC_DST_PORT = 0x05;
74 public static final byte BGP_FLOWSPEC_SRC_PORT = 0x06;
75 public static final byte BGP_FLOWSPEC_ICMP_TP = 0x07;
76 public static final byte BGP_FLOWSPEC_ICMP_CD = 0x08;
77 public static final byte BGP_FLOWSPEC_TCP_FLAGS = 0x09;
Shashikanth VH03205d22016-02-19 22:48:08 +053078 public static final byte BGP_FLOWSPEC_PCK_LEN = 0x0a;
79 public static final byte BGP_FLOWSPEC_DSCP = 0x0b;
80 public static final byte BGP_FLOWSPEC_FRAGMENT = 0x0c;
Shashikanth VH0a82a8e2016-02-02 20:42:53 +053081
Mohammad Shahid30fedc52017-08-09 11:49:40 +053082 // for EVPN
83 public static final short BGP_ROUTE_TARGET_AS = (short) 0x0002;
84 public static final short BGP_ROUTE_TARGET_IP = (short) 0x0102;
85 public static final short BGP_ROUTE_TARGET_LARGEAS = (short) 0x0202;
86 public static final short BGP_EVPN_ETHERNET_AUTO_DISCOVERY = (short) 0x01;
87 public static final short BGP_EVPN_MAC_IP_ADVERTISEMENT = (short) 0x02;
88 public static final short BGP_EVPN_INCLUSIVE_MULTICASE_ETHERNET = (short) 0x03;
89 public static final short BGP_EVPN_ETHERNET_SEGMENT = (short) 0x04;
90
Shashikanth VH0a82a8e2016-02-02 20:42:53 +053091 public static final short BGP_FLOWSPEC_ACTION_TRAFFIC_RATE = (short) 0x8006;
92 public static final short BGP_FLOWSPEC_ACTION_TRAFFIC_ACTION = (short) 0x8007;
93 public static final short BGP_FLOWSPEC_ACTION_TRAFFIC_REDIRECT = (short) 0x8008;
94 public static final short BGP_FLOWSPEC_ACTION_TRAFFIC_MARKING = (short) 0x8009;
95
Shashikanth VHc53a4132016-02-11 18:33:34 +053096 public static final byte BGP_FLOW_SPEC_LEN_MASK = 0x30;
97 public static final byte BGP_FLOW_SPEC_END_OF_LIST_MASK = (byte) 0x80;
Ankur Aggarwalf363d1a2019-11-11 14:56:18 +053098}