OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bgp_common.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef SRC_BGP_BGP_COMMON_H_
6 #define SRC_BGP_BGP_COMMON_H_
7 
8 #include <boost/intrusive_ptr.hpp>
9 
10 #include <list>
11 #include <string>
12 #include <utility>
13 #include <vector>
14 
15 #define BGP_RTGT_MIN_ID_AS2 8000000
16 #define BGP_RTGT_MIN_ID_AS4 8000
17 
18 #define BGP_RTGT_MAX_ID_AS2 16777216
19 #define BGP_RTGT_MAX_ID_AS4 32768
20 
21 typedef uint32_t as_t;
22 typedef uint16_t as2_t;
23 #define AS_TRANS 23456
24 #define AS2_MAX 0xFFFF
25 
26 #define XMPP_HOLD_TIME_DEFAULT 90
27 
29 typedef boost::intrusive_ptr<RoutingPolicy> RoutingPolicyPtr;
30 
31 //
32 // Generic data structure for configured list of routing policies with
33 // ordering info.
34 //
36  std::string sequence_;
37  std::string routing_policy_;
38 };
39 
40 typedef std::vector<RoutingPolicyAttachInfo> RoutingPolicyConfigList;
41 
42 //
43 // Generic data structure for policy attachment.
44 // It is a list of Routing Policy pointer + Generation of routing policy.
45 //
46 typedef std::pair<RoutingPolicyPtr, uint32_t> RoutingPolicyInfo;
47 typedef std::list<RoutingPolicyInfo> RoutingPolicyAttachList;
48 
49 #endif // SRC_BGP_BGP_COMMON_H_
uint32_t as_t
Definition: bgp_common.h:21
uint16_t as2_t
Definition: bgp_common.h:22
std::string sequence_
Definition: bgp_common.h:36
std::vector< RoutingPolicyAttachInfo > RoutingPolicyConfigList
Definition: bgp_common.h:40
std::pair< RoutingPolicyPtr, uint32_t > RoutingPolicyInfo
Definition: bgp_common.h:46
std::list< RoutingPolicyInfo > RoutingPolicyAttachList
Definition: bgp_common.h:47
boost::intrusive_ptr< RoutingPolicy > RoutingPolicyPtr
Definition: bgp_common.h:28
std::string routing_policy_
Definition: bgp_common.h:37