5 #ifndef SRC_BGP_ROUTING_INSTANCE_STATIC_ROUTE_H_
6 #define SRC_BGP_ROUTING_INSTANCE_STATIC_ROUTE_H_
25 template <
typename T1,
typename T2,
typename T3,
typename T4>
34 InetRoute, InetVpnRoute, Ip4Prefix, Ip4Address> {
38 Inet6Route, Inet6VpnRoute, Inet6Prefix, Ip6Address> {
106 StaticRouteEntriesInfo *info)
const;
121 StaticRouteConfigList::iterator it);
125 StaticRouteConfigList::iterator it);
boost::asio::ip::address IpAddress
boost::intrusive_ptr< ConditionMatch > ConditionMatchPtr
std::set< StaticRouteConfig > StaticRouteList
void StopStaticRouteDone(BgpTable *table, ConditionMatch *info)
const StaticRouteMap & static_route_map() const
virtual uint32_t GetRouteCount() const
int CompareStaticRoute(typename StaticRouteMap::iterator loc, StaticRouteConfigList::iterator it)
virtual void UpdateStaticRouteConfig()
virtual void DisableUnregisterTrigger()
virtual bool IsQueueEmpty()
virtual void ProcessStaticRouteConfig()
virtual bool FillStaticRouteInfo(RoutingInstance *rtinstance, StaticRouteEntriesInfo *info) const
Address::Family GetFamily() const
void EnqueueStaticRouteReq(StaticRouteRequest *req)
BgpConditionListener * listener_
BgpInstanceConfig::StaticRouteList StaticRouteConfigList
StaticRouteProcessList unregister_static_route_list_
virtual uint32_t GetDownRouteCount() const
friend class StaticRouteTest
virtual void EnableUnregisterTrigger()
virtual void FlushStaticRouteConfig()
std::map< RouteKey, StaticRoutePtr > StaticRouteMap
void DelStaticRoute(typename StaticRouteMap::iterator loc)
RoutingInstance * rtinstance_
void LocateStaticRoutePrefix(const StaticRouteConfig &config)
bool ProcessUnregisterList()
DISALLOW_COPY_AND_ASSIGN(StaticRouteMgr)
AddressT GetAddress(IpAddress addr) const
virtual void UpdateAllRoutes()
void AddStaticRoute(StaticRouteConfigList::iterator it)
StaticRouteMap static_route_map_
virtual void NotifyAllRoutes()
StaticRouteMgr(RoutingInstance *instance)
void UpdateStaticRoute(typename StaticRouteMap::iterator loc, StaticRouteConfigList::iterator it)
std::set< StaticRoutePtr > StaticRouteProcessList
void RemoveStaticRoutePrefix(const RouteKey &static_route)
boost::scoped_ptr< TaskTrigger > unregister_list_trigger_
virtual void EnableQueue()
RoutingInstance * routing_instance()
bool StaticRouteEventCallback(StaticRouteRequest *req)
WorkQueue< StaticRouteRequest * > * static_route_queue_
StaticRoute< T > StaticRouteT
static int static_route_task_id_
virtual void DisableQueue()
void UnregisterAndResolveStaticRoute(StaticRoutePtr entry)
void set_disable(bool disabled)
bool IsQueueEmpty() const
StaticRouteMgr< StaticRouteInet6 > StaticRouteMgrInet6
StaticRouteMgr< StaticRouteInet > StaticRouteMgrInet
ConditionMatchPtr StaticRoutePtr
RouteKey(const PrefixT &prefix, const IpAddress &nexthop)
bool operator<(const RouteKey &rhs) const
StaticRouteRequest(RequestType type, BgpTable *table, BgpRoute *route, StaticRoutePtr info)
DISALLOW_COPY_AND_ASSIGN(StaticRouteRequest)
#define BOOL_KEY_COMPARE(x, y)