OpenSDN source code
|
#include <route_aggregator.h>
Classes | |
class | DeleteActor |
Public Types | |
typedef T::RouteT | RouteT |
typedef T::PrefixT | PrefixT |
typedef T::AddressT | AddressT |
typedef AggregateRoute< T > | AggregateRouteT |
typedef std::map< PrefixT, AggregateRoutePtr > | AggregateRouteMap |
Private Types | |
typedef std::set < AggregateRoutePtr > | AggregateRouteProcessList |
typedef BgpInstanceConfig::AggregateRouteList | AggregateRouteConfigList |
Private Member Functions | |
int | CompareAggregateRoute (typename AggregateRouteMap::iterator loc, AggregateRouteConfigList::iterator it) |
void | AddAggregateRoute (AggregateRouteConfigList::iterator it) |
void | DelAggregateRoute (typename AggregateRouteMap::iterator loc) |
void | UpdateAggregateRoute (typename AggregateRouteMap::iterator loc, AggregateRouteConfigList::iterator it) |
void | LocateAggregateRoutePrefix (const AggregateRouteConfig &cfg) |
void | RemoveAggregateRoutePrefix (const PrefixT &static_route) |
void | StopAggregateRouteDone (BgpTable *table, ConditionMatch *info) |
bool | ProcessUnregisterList () |
bool | ProcessUpdateList () |
bool | RouteListener (DBTablePartBase *root, DBEntryBase *entry) |
RoutingInstance * | routing_instance () |
virtual void | DisableRouteAggregateUpdate () |
virtual void | EnableRouteAggregateUpdate () |
virtual size_t | GetUpdateAggregateListSize () const |
virtual void | DisableUnregResolveTask () |
virtual void | EnableUnregResolveTask () |
virtual size_t | GetUnregResolveListSize () const |
DISALLOW_COPY_AND_ASSIGN (RouteAggregator) | |
Private Attributes | |
RoutingInstance * | rtinstance_ |
BgpConditionListener * | condition_listener_ |
DBTableBase::ListenerId | listener_id_ |
AggregateRouteMap | aggregate_route_map_ |
boost::scoped_ptr< TaskTrigger > | update_list_trigger_ |
boost::scoped_ptr< TaskTrigger > | unregister_list_trigger_ |
tbb::mutex | mutex_ |
AggregateRouteProcessList | update_aggregate_list_ |
AggregateRouteProcessList | unregister_aggregate_list_ |
boost::scoped_ptr< DeleteActor > | deleter_ |
LifetimeRef< RouteAggregator > | instance_delete_ref_ |
Definition at line 161 of file route_aggregator.h.
typedef T::AddressT RouteAggregator< T >::AddressT |
Definition at line 165 of file route_aggregator.h.
|
private |
Definition at line 211 of file route_aggregator.h.
typedef std::map<PrefixT, AggregateRoutePtr> RouteAggregator< T >::AggregateRouteMap |
Definition at line 169 of file route_aggregator.h.
|
private |
Definition at line 209 of file route_aggregator.h.
typedef AggregateRoute<T> RouteAggregator< T >::AggregateRouteT |
Definition at line 166 of file route_aggregator.h.
typedef T::PrefixT RouteAggregator< T >::PrefixT |
Definition at line 164 of file route_aggregator.h.
typedef T::RouteT RouteAggregator< T >::RouteT |
Definition at line 163 of file route_aggregator.h.
|
explicit |
Definition at line 578 of file route_aggregator.cc.
RouteAggregator< T >::~RouteAggregator | ( | ) |
Definition at line 594 of file route_aggregator.cc.
|
private |
Definition at line 772 of file route_aggregator.cc.
|
inline |
Definition at line 184 of file route_aggregator.h.
BgpTable * RouteAggregator< T >::bgp_table | ( | ) | const |
Definition at line 667 of file route_aggregator.cc.
|
private |
Definition at line 762 of file route_aggregator.cc.
|
private |
Definition at line 778 of file route_aggregator.cc.
|
privatevirtual |
Implements IRouteAggregator.
Definition at line 904 of file route_aggregator.cc.
|
privatevirtual |
Implements IRouteAggregator.
Definition at line 919 of file route_aggregator.cc.
|
private |
|
privatevirtual |
Implements IRouteAggregator.
Definition at line 909 of file route_aggregator.cc.
|
privatevirtual |
Implements IRouteAggregator.
Definition at line 924 of file route_aggregator.cc.
void RouteAggregator< T >::EvaluateAggregateRoute | ( | AggregateRoutePtr | entry | ) |
Definition at line 705 of file route_aggregator.cc.
|
virtual |
Implements IRouteAggregator.
Definition at line 740 of file route_aggregator.cc.
|
virtual |
Implements IRouteAggregator.
Definition at line 634 of file route_aggregator.cc.
AddressT RouteAggregator< T >::GetAddress | ( | IpAddress | addr | ) | const |
Ip4Address RouteAggregator< AggregateInetRoute >::GetAddress | ( | IpAddress | addr | ) | const |
Definition at line 653 of file route_aggregator.cc.
Ip6Address RouteAggregator< AggregateInet6Route >::GetAddress | ( | IpAddress | addr | ) | const |
Definition at line 660 of file route_aggregator.cc.
|
inlinevirtual |
Implements IRouteAggregator.
Definition at line 181 of file route_aggregator.h.
Address::Family RouteAggregator< T >::GetFamily | ( | ) | const |
Address::Family RouteAggregator< AggregateInetRoute >::GetFamily | ( | ) | const |
Definition at line 643 of file route_aggregator.cc.
Address::Family RouteAggregator< AggregateInet6Route >::GetFamily | ( | ) | const |
Definition at line 648 of file route_aggregator.cc.
|
privatevirtual |
Implements IRouteAggregator.
Definition at line 929 of file route_aggregator.cc.
|
privatevirtual |
Implements IRouteAggregator.
Definition at line 914 of file route_aggregator.cc.
|
virtual |
Implements IRouteAggregator.
Definition at line 672 of file route_aggregator.cc.
|
virtual |
Implements IRouteAggregator.
Definition at line 720 of file route_aggregator.cc.
|
virtual |
Implements IRouteAggregator.
Definition at line 730 of file route_aggregator.cc.
|
inline |
Definition at line 191 of file route_aggregator.h.
|
private |
void RouteAggregator< T >::ManagedDelete | ( | ) |
Definition at line 692 of file route_aggregator.cc.
bool RouteAggregator< T >::MayDelete | ( | ) | const |
Definition at line 680 of file route_aggregator.cc.
|
virtual |
Implements IRouteAggregator.
Definition at line 601 of file route_aggregator.cc.
|
private |
|
private |
|
private |
void RouteAggregator< T >::RetryDelete | ( | ) |
Definition at line 698 of file route_aggregator.cc.
|
private |
Definition at line 897 of file route_aggregator.cc.
|
inlineprivate |
Definition at line 229 of file route_aggregator.h.
|
private |
Definition at line 843 of file route_aggregator.cc.
void RouteAggregator< T >::UnregisterAndResolveRouteAggregate | ( | AggregateRoutePtr | entry | ) |
Definition at line 712 of file route_aggregator.cc.
|
private |
Definition at line 784 of file route_aggregator.cc.
|
virtual |
Implements IRouteAggregator.
Definition at line 619 of file route_aggregator.cc.
|
private |
Definition at line 243 of file route_aggregator.h.
|
private |
Definition at line 241 of file route_aggregator.h.
|
private |
Definition at line 249 of file route_aggregator.h.
|
private |
Definition at line 250 of file route_aggregator.h.
|
private |
Definition at line 242 of file route_aggregator.h.
|
private |
Definition at line 246 of file route_aggregator.h.
|
private |
Definition at line 240 of file route_aggregator.h.
|
private |
Definition at line 248 of file route_aggregator.h.
|
private |
Definition at line 245 of file route_aggregator.h.
|
private |
Definition at line 247 of file route_aggregator.h.
|
private |
Definition at line 244 of file route_aggregator.h.