blob: 1839a3126df684d4ba7f3d0866ae3382741a29ce [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
25 public static final short TYPE_AND_LEN = 4;
26 public static final short TYPE_AND_LEN_AS_SHORT = 4;
27 public static final short TYPE_AND_LEN_AS_BYTE = 3;
28 public static final int ISIS_LEVELONE = 1;
29 public static final int ISIS_LEVELTWO = 2;
30 public static final int OSPFV2 = 3;
31 public static final int DIRECT = 4;
32 public static final int STATIC_CONFIGURATION = 5;
33 public static final int OSPFV3 = 6;
34 public static final short AFI_VALUE = 16388;
35 public static final byte VPN_SAFI_VALUE = (byte) 0x80;
36 public static final byte SAFI_VALUE = 71;
Shashikanth VHf04ab492016-02-10 11:35:11 +053037 public static final short AFI_IPV4_UNICAST = 1;
38 public static final byte SAFI_IPV4_UNICAST = 1;
Shashikanth VH0a82a8e2016-02-02 20:42:53 +053039 public static final short AFI_FLOWSPEC_VALUE = 1;
40 public static final byte SAFI_FLOWSPEC_VALUE = (byte) 133;
41 public static final byte VPN_SAFI_FLOWSPEC_VALUE = (byte) 134;
42
Shashikanth VHb650bfa2016-04-18 12:54:03 +053043 /* TODO: The Capability Code
44 for this capability is to be specified by the IANA.*/
45 public static final short AFI_FLOWSPEC_RPD_VALUE = 1;
Shashikanth VHb58cfd52016-04-21 16:45:50 +053046 public static final byte SAFI_FLOWSPEC_RPD_VALUE = (byte) 133;
47 public static final byte VPN_SAFI_FLOWSPEC_RDP_VALUE = (byte) 134;
Shashikanth VHb650bfa2016-04-18 12:54:03 +053048
Mohammad Shahid30fedc52017-08-09 11:49:40 +053049 public static final short AFI_EVPN_VALUE = 25;
50 public static final byte SAFI_EVPN_VALUE = (byte) 70;
51
Shashikanth VHb650bfa2016-04-18 12:54:03 +053052 public static final byte RPD_CAPABILITY_RECEIVE_VALUE = 0;
53 public static final byte RPD_CAPABILITY_SEND_VALUE = 1;
54 public static final byte RPD_CAPABILITY_SEND_RECEIVE_VALUE = 2;
55
Priyanka B0ab34b92015-12-03 21:13:52 +053056 public static final int EXTRA_TRAFFIC = 0x01;
57 public static final int UNPROTECTED = 0x02;
58 public static final int SHARED = 0x04;
59 public static final int DEDICATED_ONE_ISTO_ONE = 0x08;
60 public static final int DEDICATED_ONE_PLUS_ONE = 0x10;
61 public static final int ENHANCED = 0x20;
62 public static final int RESERVED = 0x40;
Shashikanth VH0a82a8e2016-02-02 20:42:53 +053063
Shashikanth VH826990b2016-02-11 16:52:46 +053064 public static final byte BGP_EXTENDED_COMMUNITY = 0x10;
65
Shashikanth VH0a82a8e2016-02-02 20:42:53 +053066 public static final byte BGP_FLOWSPEC_DST_PREFIX = 0x01;
67 public static final byte BGP_FLOWSPEC_SRC_PREFIX = 0x02;
68 public static final byte BGP_FLOWSPEC_IP_PROTO = 0x03;
69 public static final byte BGP_FLOWSPEC_PORT = 0x04;
70 public static final byte BGP_FLOWSPEC_DST_PORT = 0x05;
71 public static final byte BGP_FLOWSPEC_SRC_PORT = 0x06;
72 public static final byte BGP_FLOWSPEC_ICMP_TP = 0x07;
73 public static final byte BGP_FLOWSPEC_ICMP_CD = 0x08;
74 public static final byte BGP_FLOWSPEC_TCP_FLAGS = 0x09;
Shashikanth VH03205d22016-02-19 22:48:08 +053075 public static final byte BGP_FLOWSPEC_PCK_LEN = 0x0a;
76 public static final byte BGP_FLOWSPEC_DSCP = 0x0b;
77 public static final byte BGP_FLOWSPEC_FRAGMENT = 0x0c;
Shashikanth VH0a82a8e2016-02-02 20:42:53 +053078
Mohammad Shahid30fedc52017-08-09 11:49:40 +053079 // for EVPN
80 public static final short BGP_ROUTE_TARGET_AS = (short) 0x0002;
81 public static final short BGP_ROUTE_TARGET_IP = (short) 0x0102;
82 public static final short BGP_ROUTE_TARGET_LARGEAS = (short) 0x0202;
83 public static final short BGP_EVPN_ETHERNET_AUTO_DISCOVERY = (short) 0x01;
84 public static final short BGP_EVPN_MAC_IP_ADVERTISEMENT = (short) 0x02;
85 public static final short BGP_EVPN_INCLUSIVE_MULTICASE_ETHERNET = (short) 0x03;
86 public static final short BGP_EVPN_ETHERNET_SEGMENT = (short) 0x04;
87
Shashikanth VH0a82a8e2016-02-02 20:42:53 +053088 public static final short BGP_FLOWSPEC_ACTION_TRAFFIC_RATE = (short) 0x8006;
89 public static final short BGP_FLOWSPEC_ACTION_TRAFFIC_ACTION = (short) 0x8007;
90 public static final short BGP_FLOWSPEC_ACTION_TRAFFIC_REDIRECT = (short) 0x8008;
91 public static final short BGP_FLOWSPEC_ACTION_TRAFFIC_MARKING = (short) 0x8009;
92
Shashikanth VHc53a4132016-02-11 18:33:34 +053093 public static final byte BGP_FLOW_SPEC_LEN_MASK = 0x30;
94 public static final byte BGP_FLOW_SPEC_END_OF_LIST_MASK = (byte) 0x80;
Priyanka B0bee1f82015-10-13 15:39:49 +053095}