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