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);
boost::asio::ip::address IpAddress
boost::intrusive_ptr< ConditionMatch > ConditionMatchPtr
std::vector< AggregateRouteConfig > AggregateRouteList
virtual bool IsContributingRoute(const BgpRoute *route) const
void RemoveAggregateRoutePrefix(const PrefixT &static_route)
BgpInstanceConfig::AggregateRouteList AggregateRouteConfigList
virtual size_t GetUpdateAggregateListSize() const
virtual bool FillAggregateRouteInfo(AggregateRouteEntriesInfo *info, bool summary) const
virtual uint32_t GetAggregateRouteCount() const
void UpdateAggregateRoute(typename AggregateRouteMap::iterator loc, AggregateRouteConfigList::iterator it)
RoutingInstance * rtinstance_
virtual void Initialize()
AggregateRoute< T > AggregateRouteT
virtual void EnableRouteAggregateUpdate()
AggregateRouteProcessList unregister_aggregate_list_
void EvaluateAggregateRoute(AggregateRoutePtr entry)
virtual void DisableUnregResolveTask()
RoutingInstance * routing_instance()
Address::Family GetFamily() const
void UnregisterAndResolveRouteAggregate(AggregateRoutePtr entry)
virtual bool IsAggregateRoute(const BgpRoute *route) const
bool ProcessUnregisterList()
int CompareAggregateRoute(typename AggregateRouteMap::iterator loc, AggregateRouteConfigList::iterator it)
RouteAggregator(RoutingInstance *instance)
virtual void FlushAggregateRouteConfig()
virtual void DisableRouteAggregateUpdate()
void DelAggregateRoute(typename AggregateRouteMap::iterator loc)
DBTableBase::ListenerId listener_id_
DISALLOW_COPY_AND_ASSIGN(RouteAggregator)
virtual void UpdateAggregateRouteConfig()
AggregateRouteMap aggregate_route_map_
void StopAggregateRouteDone(BgpTable *table, ConditionMatch *info)
BgpConditionListener * condition_listener_
virtual size_t GetUnregResolveListSize() const
boost::scoped_ptr< TaskTrigger > unregister_list_trigger_
std::set< AggregateRoutePtr > AggregateRouteProcessList
std::map< PrefixT, AggregateRoutePtr > AggregateRouteMap
DBTableBase::ListenerId listener_id() const
bool RouteListener(DBTablePartBase *root, DBEntryBase *entry)
virtual void EnableUnregResolveTask()
AddressT GetAddress(IpAddress addr) const
boost::scoped_ptr< DeleteActor > deleter_
BgpTable * bgp_table() const
AggregateRouteProcessList update_aggregate_list_
LifetimeRef< RouteAggregator > instance_delete_ref_
const AggregateRouteMap & aggregate_route_map() const
virtual void ProcessAggregateRouteConfig()
void AddAggregateRoute(AggregateRouteConfigList::iterator it)
void LocateAggregateRoutePrefix(const AggregateRouteConfig &cfg)
boost::scoped_ptr< TaskTrigger > update_list_trigger_
RouteAggregator< AggregateInetRoute > RouteAggregatorInet
RouteAggregator< AggregateInet6Route > RouteAggregatorInet6
ConditionMatchPtr AggregateRoutePtr