5 #ifndef SRC_BGP_ROUTING_INSTANCE_ROUTE_AGGREGATOR_H_
6 #define SRC_BGP_ROUTING_INSTANCE_ROUTE_AGGREGATOR_H_
26 template <
typename T1,
typename T2,
typename T3,
typename T4>
35 InetTable, InetRoute, Ip4Prefix, Ip4Address> {
39 Inet6Table, Inet6Route, Inet6Prefix, Ip6Address> {
160 template <
typename T>
214 AggregateRouteConfigList::iterator it);
218 AggregateRouteConfigList::iterator it);
258 #endif // SRC_BGP_ROUTING_INSTANCE_ROUTE_AGGREGATOR_H_
virtual void ProcessAggregateRouteConfig()
void RemoveAggregateRoutePrefix(const PrefixT &static_route)
const AggregateRouteMap & aggregate_route_map() const
virtual void EnableRouteAggregateUpdate()
virtual bool IsAggregateRoute(const BgpRoute *route) const
virtual void FlushAggregateRouteConfig()
std::map< PrefixT, AggregateRoutePtr > AggregateRouteMap
boost::intrusive_ptr< ConditionMatch > ConditionMatchPtr
boost::asio::ip::address IpAddress
Address::Family GetFamily() const
int CompareAggregateRoute(typename AggregateRouteMap::iterator loc, AggregateRouteConfigList::iterator it)
void DelAggregateRoute(typename AggregateRouteMap::iterator loc)
std::vector< AggregateRouteConfig > AggregateRouteList
DBTableBase::ListenerId listener_id_
virtual void DisableUnregResolveTask()
void StopAggregateRouteDone(BgpTable *table, ConditionMatch *info)
BgpConditionListener * condition_listener_
BgpTable * bgp_table() const
DBTableBase::ListenerId listener_id() const
AggregateRouteMap aggregate_route_map_
BgpInstanceConfig::AggregateRouteList AggregateRouteConfigList
std::set< AggregateRoutePtr > AggregateRouteProcessList
bool ProcessUnregisterList()
AggregateRouteProcessList unregister_aggregate_list_
RouteAggregator(RoutingInstance *instance)
boost::scoped_ptr< TaskTrigger > update_list_trigger_
AddressT GetAddress(IpAddress addr) const
LifetimeRef< RouteAggregator > instance_delete_ref_
void EvaluateAggregateRoute(AggregateRoutePtr entry)
bool RouteListener(DBTablePartBase *root, DBEntryBase *entry)
void UnregisterAndResolveRouteAggregate(AggregateRoutePtr entry)
void UpdateAggregateRoute(typename AggregateRouteMap::iterator loc, AggregateRouteConfigList::iterator it)
virtual size_t GetUpdateAggregateListSize() const
virtual void Initialize()
virtual bool FillAggregateRouteInfo(AggregateRouteEntriesInfo *info, bool summary) const
RouteAggregator< AggregateInet6Route > RouteAggregatorInet6
DISALLOW_COPY_AND_ASSIGN(RouteAggregator)
boost::scoped_ptr< DeleteActor > deleter_
boost::scoped_ptr< TaskTrigger > unregister_list_trigger_
AggregateRoute< T > AggregateRouteT
void LocateAggregateRoutePrefix(const AggregateRouteConfig &cfg)
void AddAggregateRoute(AggregateRouteConfigList::iterator it)
ConditionMatchPtr AggregateRoutePtr
virtual void DisableRouteAggregateUpdate()
RouteAggregator< AggregateInetRoute > RouteAggregatorInet
virtual uint32_t GetAggregateRouteCount() const
virtual bool IsContributingRoute(const BgpRoute *route) const
RoutingInstance * rtinstance_
virtual void EnableUnregResolveTask()
AggregateRouteProcessList update_aggregate_list_
virtual size_t GetUnregResolveListSize() const
RoutingInstance * routing_instance()
virtual void UpdateAggregateRouteConfig()