OpenSDN source code
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
bgp_factory.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_FACTORY_H_
6
#define SRC_BGP_BGP_FACTORY_H_
7
8
#include <boost/function.hpp>
9
10
#include <string>
11
12
#include "
base/factory.h
"
13
#include "
base/address.h
"
14
#include "
bgp/routing-instance/iservice_chain_mgr.h
"
15
16
class
BgpConfigListener
;
17
class
BgpConfigManager
;
18
class
BgpIfmapConfigManager
;
19
class
BgpExport
;
20
class
BgpInstanceConfig
;
21
class
BgpLifetimeManager
;
22
class
BgpMembershipManager
;
23
class
BgpMessageBuilder
;
24
class
BgpNeighborConfig
;
25
class
BgpPeer
;
26
class
BgpPeerClose
;
27
class
BgpRoutingPolicyConfig
;
28
class
BgpServer
;
29
class
BgpSessionManager
;
30
class
BgpXmppMessageBuilder
;
31
class
EventManager
;
32
class
EvpnManager
;
33
class
EvpnTable
;
34
class
ErmVpnTable
;
35
class
IPeerClose
;
36
class
IRouteAggregator
;
37
class
IServiceChainMgr
;
38
class
IStaticRouteMgr
;
39
class
McastTreeManager
;
40
class
MvpnProjectManager
;
41
class
MvpnManager
;
42
class
MvpnTable
;
43
class
PeerManager
;
44
class
PeerCloseManager
;
45
class
RibOut
;
46
class
RibOutUpdates
;
47
class
RoutingInstance
;
48
class
RoutingInstanceMgr
;
49
class
RoutingPolicy
;
50
class
RoutingPolicyMgr
;
51
class
RTargetGroupMgr
;
52
class
StateMachine
;
53
54
55
struct
BgpStaticObjectFactory
:
public
StaticObjectFactory
{
56
};
57
58
#include "
bgp/bgp_config_ifmap.h
"
59
60
using
BgpConfigManagerRec
=
61
BgpStaticObjectFactory::FactoryRecord
<
BgpConfigManager
,
62
BgpServer
*>;
63
using
BgpMembershipManagerRec
=
64
BgpStaticObjectFactory::FactoryRecord
<
BgpMembershipManager
,
65
BgpServer
*>;
66
using
BgpExportRec
=
67
BgpStaticObjectFactory::FactoryRecord
<
BgpExport
,
68
RibOut
*>;
69
using
EvpnManagerRec
=
70
BgpStaticObjectFactory::FactoryRecord
<
EvpnManager
,
71
EvpnTable
*>;
72
using
McastTreeManagerRec
=
73
BgpStaticObjectFactory::FactoryRecord
<
McastTreeManager
,
74
ErmVpnTable
*>;
75
using
MvpnProjectManagerRec
=
76
BgpStaticObjectFactory::FactoryRecord
<
MvpnProjectManager
,
77
ErmVpnTable
*>;
78
using
PeerCloseManagerRec
=
79
BgpStaticObjectFactory::FactoryRecord
<
PeerCloseManager
,
80
IPeerClose
*>;
81
using
PeerManagerRec
=
82
BgpStaticObjectFactory::FactoryRecord
<
PeerManager
,
83
RoutingInstance
*>;
84
using
RoutingInstanceMgrRec
=
85
BgpStaticObjectFactory::FactoryRecord
<
RoutingInstanceMgr
,
86
BgpServer
*>;
87
using
RoutingPolicyMgrRec
=
88
BgpStaticObjectFactory::FactoryRecord
<
RoutingPolicyMgr
,
89
BgpServer
*>;
90
using
RTargetGroupMgrRec
=
91
BgpStaticObjectFactory::FactoryRecord
<
RTargetGroupMgr
,
92
BgpServer
*>;
93
using
StateMachineRec
=
94
BgpStaticObjectFactory::FactoryRecord
<
StateMachine
,
95
BgpPeer
*>;
96
using
BgpPeerCloseRec
=
97
BgpStaticObjectFactory::FactoryRecord
<
BgpPeerClose
,
98
BgpPeer
*>;
99
using
MvpnManagerRec
=
100
BgpStaticObjectFactory::FactoryRecord
<
MvpnManager
,
101
MvpnTable
*,
ErmVpnTable
*>;
102
using
BgpLifetimeManagerRec
=
103
BgpStaticObjectFactory::FactoryRecord
<
BgpLifetimeManager
,
104
BgpServer
*,
int
>;
105
using
BgpSessionManagerRec
=
106
BgpStaticObjectFactory::FactoryRecord
<
BgpSessionManager
,
107
EventManager
*,
BgpServer
*>;
108
using
RibOutUpdatesRec
=
109
BgpStaticObjectFactory::FactoryRecord
<
RibOutUpdates
,
110
RibOut
*,
int
>;
111
using
BgpPeerRec
=
112
BgpStaticObjectFactory::FactoryRecord
<
BgpPeer
,
113
BgpServer *,
RoutingInstance
*,
const
BgpNeighborConfig
*>;
114
using
RoutingInstanceRec
=
115
BgpStaticObjectFactory::FactoryRecord
<RoutingInstance,
116
std::string, BgpServer *,
117
RoutingInstanceMgr *,
const
BgpInstanceConfig
*>;
118
using
RoutingPolicyRec
=
119
BgpStaticObjectFactory::FactoryRecord
<
RoutingPolicy
,
120
std::string, BgpServer *,
121
RoutingPolicyMgr *,
const
BgpRoutingPolicyConfig
*>;
122
using
BgpMessageBuilderRec
=
123
BgpStaticObjectFactory::FactoryRecord<BgpMessageBuilder>
;
124
using
BgpXmppMessageBuilderRec
=
125
BgpStaticObjectFactory::FactoryRecord<BgpXmppMessageBuilder>
;
126
127
128
#include "
bgp/routing-instance/service_chaining.h
"
129
template
<>
struct
BgpStaticObjectFactory::ParameterCastTo
<
IServiceChainMgr
,
SCAddress
::INET>
130
{
using
ImplType
=
ServiceChainMgrInet
;};
131
template
<>
struct
BgpStaticObjectFactory::ParameterCastTo
<
IServiceChainMgr
,
SCAddress
::INET6>
132
{
using
ImplType
=
ServiceChainMgrInet6
;};
133
template
<>
struct
BgpStaticObjectFactory::ParameterCastTo
<
IServiceChainMgr
,
SCAddress
::EVPN>
134
{
using
ImplType
=
ServiceChainMgrEvpn
;};
135
template
<>
struct
BgpStaticObjectFactory::ParameterCastTo
<
IServiceChainMgr
,
SCAddress
::EVPN6>
136
{
using
ImplType
=
ServiceChainMgrEvpn6
;};
137
138
#include "
bgp/routing-instance/static_route.h
"
139
template
<>
struct
BgpStaticObjectFactory::ParameterCastTo
<
IStaticRouteMgr
,
Address
::INET>
140
{
using
ImplType
=
StaticRouteMgrInet
;};
141
template
<>
struct
BgpStaticObjectFactory::ParameterCastTo
<
IStaticRouteMgr
,
Address
::INET6>
142
{
using
ImplType
=
StaticRouteMgrInet6
;};
143
144
#include "
bgp/routing-instance/route_aggregator.h
"
145
template
<>
struct
BgpStaticObjectFactory::ParameterCastTo
<
IRouteAggregator
,
Address
::INET>
146
{
using
ImplType
=
RouteAggregatorInet
;};
147
template
<>
struct
BgpStaticObjectFactory::ParameterCastTo
<
IRouteAggregator
,
Address
::INET6>
148
{
using
ImplType
=
RouteAggregatorInet6
;};
149
#endif // SRC_BGP_BGP_FACTORY_H_
SCAddress
Definition:
iservice_chain_mgr.h:60
StateMachine
Definition:
state_machine.h:75
ServiceChainMgrEvpn6
ServiceChainMgr< ServiceChainEvpn6 > ServiceChainMgrEvpn6
Definition:
service_chaining.h:471
RouteAggregator
Definition:
route_aggregator.h:161
BgpMessageBuilder
Definition:
bgp_message_builder.h:42
ServiceChainMgrInet
ServiceChainMgr< ServiceChainInet > ServiceChainMgrInet
Definition:
service_chaining.h:468
ServiceChainMgrEvpn
ServiceChainMgr< ServiceChainEvpn > ServiceChainMgrEvpn
Definition:
service_chaining.h:470
BgpServer
Definition:
bgp_server.h:58
McastTreeManager
Definition:
bgp_multicast.h:384
MvpnProjectManager
Definition:
bgp_mvpn.h:416
BgpIfmapConfigManager
Definition:
bgp_config_ifmap.h:468
ErmVpnTable
Definition:
ermvpn_table.h:19
BgpConfigManager
Definition:
bgp_config.h:722
PeerManager
Definition:
peer_manager.h:24
ServiceChainMgr
Definition:
service_chaining.h:38
RoutingInstance
Definition:
routing_instance.h:54
MvpnTable
Definition:
mvpn_table.h:24
service_chaining.h
StaticRouteMgr
Definition:
static_route.h:64
StaticRouteMgrInet6
StaticRouteMgr< StaticRouteInet6 > StaticRouteMgrInet6
Definition:
static_route.h:155
BgpXmppMessageBuilder
Definition:
xmpp_message_builder.h:24
RoutingInstanceMgr
Definition:
routing_instance.h:281
static_route.h
iservice_chain_mgr.h
BgpMembershipManager
Definition:
bgp_membership.h:86
EvpnTable
Definition:
evpn_table.h:17
RibOutUpdates
Definition:
bgp_ribout_updates.h:41
BgpSessionManager
Definition:
bgp_session_manager.h:20
RibOut
Definition:
bgp_ribout.h:260
BgpNeighborConfig
Definition:
bgp_config.h:139
IServiceChainMgr
Definition:
iservice_chain_mgr.h:20
Address
Definition:
address.h:17
StaticRouteMgrInet
StaticRouteMgr< StaticRouteInet > StaticRouteMgrInet
Definition:
static_route.h:154
bgp_config_ifmap.h
RoutingPolicy
Definition:
routing_policy.h:224
ServiceChainMgrInet6
ServiceChainMgr< ServiceChainInet6 > ServiceChainMgrInet6
Definition:
service_chaining.h:469
EvpnManager
This class represents the EVPN manager for an EvpnTable in a VRF.
Definition:
bgp_evpn.h:578
address.h
BgpStaticObjectFactory
Definition:
bgp_factory.h:55
RTargetGroupMgr
Definition:
rtarget_group_mgr.h:206
MvpnManager
Definition:
bgp_mvpn.h:157
BgpExport
Definition:
bgp_export.h:16
factory.h
RouteAggregatorInet6
RouteAggregator< AggregateInet6Route > RouteAggregatorInet6
Definition:
route_aggregator.h:256
StaticObjectFactory::FactoryRecord
Definition:
factory.h:57
StaticObjectFactory
Definition:
factory.h:23
BgpRoutingPolicyConfig
Definition:
bgp_config.h:399
PeerCloseManager
Definition:
peer_close_manager.h:38
BgpConfigListener
Definition:
bgp_config_listener.h:15
IPeerClose
Definition:
ipeer.h:157
RouteAggregatorInet
RouteAggregator< AggregateInetRoute > RouteAggregatorInet
Definition:
route_aggregator.h:255
RoutingPolicyMgr
Definition:
routing_policy.h:296
StaticObjectFactory::ParameterCastTo
Definition:
factory.h:75
BgpPeer
Definition:
bgp_peer.h:82
route_aggregator.h
BgpPeerClose
Definition:
bgp_peer_close.h:19
IStaticRouteMgr
Definition:
istatic_route_mgr.h:13
BgpInstanceConfig
Definition:
bgp_config.h:421
EventManager
Definition:
event_manager.h:24
BgpLifetimeManager
Definition:
bgp_lifetime.h:12
IRouteAggregator
Definition:
iroute_aggregator.h:14
contrail
controller
src
bgp
bgp_factory.h
Generated by
1.8.5