OpenSDN source code
StaticRoute< T > Class Template Reference
Inheritance diagram for StaticRoute< T >:
Collaboration diagram for StaticRoute< T >:

Public Types

enum  CompareResult { NoChange = 0 , PrefixChange = 1 , NexthopChange = 2 , AttributeChange = 3 }
 
typedef T::RouteT RouteT
 
typedef T::VpnRouteT VpnRouteT
 
typedef T::PrefixT PrefixT
 
typedef T::AddressT AddressT
 
typedef StaticRouteMgr< T > StaticRouteMgrT
 
typedef set< RouteTargetRouteTargetList
 
typedef set< uint32_t > NexthopPathIdList
 

Public Member Functions

 StaticRoute (RoutingInstance *rtinstance, StaticRouteMgrT *manager, const PrefixT &static_route, const StaticRouteConfig &config)
 
Address::Family GetFamily () const
 
AddressT GetAddress (IpAddress addr) const
 
CompareResult CompareConfig (const StaticRouteConfig &config)
 
void FillShowInfo (StaticRouteInfo *info) const
 
const PrefixTprefix () const
 
const IpAddressnexthop () const
 
RoutingInstancerouting_instance () const
 
BgpTablebgp_table () const
 
BgpRoutenexthop_route () const
 
NexthopPathIdListNexthopPathIds ()
 
void set_nexthop_route (BgpRoute *nexthop_route)
 
const RouteTargetListrtarget_list () const
 
void UpdateAttributes (const StaticRouteConfig &config)
 
void AddStaticRoute (NexthopPathIdList *list)
 
void UpdateStaticRoute ()
 
void RemoveStaticRoute ()
 
void NotifyRoute ()
 
bool IsPending () const
 
virtual bool Match (BgpServer *server, BgpTable *table, BgpRoute *route, bool deleted)
 
virtual string ToString () const
 
void set_unregistered ()
 
bool unregistered () const
 
- Public Member Functions inherited from ConditionMatch
 ConditionMatch ()
 
virtual ~ConditionMatch ()
 
bool deleted () const
 
void IncrementNumMatchstate ()
 
void DecrementNumMatchstate ()
 
uint32_t num_matchstate () const
 

Private Member Functions

bool is_nexthop_route (BgpRoute *route)
 
CommunityPtr GetCommunity (const StaticRouteConfig &config)
 
ExtCommunityPtr UpdateExtCommunity (const BgpAttr *attr) const
 
 DISALLOW_COPY_AND_ASSIGN (StaticRoute)
 

Private Attributes

RoutingInstancerouting_instance_
 
StaticRouteMgrTmanager_
 
PrefixT prefix_
 
IpAddress nexthop_
 
BgpRoutenexthop_route_
 
NexthopPathIdList nexthop_path_ids_
 
RouteTargetList rtarget_list_
 
CommunityPtr community_
 
bool unregistered_
 

Detailed Description

template<typename T>
class StaticRoute< T >

Definition at line 50 of file static_route.cc.

Member Typedef Documentation

◆ AddressT

template<typename T >
typedef T::AddressT StaticRoute< T >::AddressT

Definition at line 55 of file static_route.cc.

◆ NexthopPathIdList

template<typename T >
typedef set<uint32_t> StaticRoute< T >::NexthopPathIdList

Definition at line 62 of file static_route.cc.

◆ PrefixT

template<typename T >
typedef T::PrefixT StaticRoute< T >::PrefixT

Definition at line 54 of file static_route.cc.

◆ RouteT

template<typename T >
typedef T::RouteT StaticRoute< T >::RouteT

Definition at line 52 of file static_route.cc.

◆ RouteTargetList

template<typename T >
typedef set<RouteTarget> StaticRoute< T >::RouteTargetList

Definition at line 59 of file static_route.cc.

◆ StaticRouteMgrT

template<typename T >
typedef StaticRouteMgr<T> StaticRoute< T >::StaticRouteMgrT

Definition at line 56 of file static_route.cc.

◆ VpnRouteT

template<typename T >
typedef T::VpnRouteT StaticRoute< T >::VpnRouteT

Definition at line 53 of file static_route.cc.

Member Enumeration Documentation

◆ CompareResult

template<typename T >
enum StaticRoute::CompareResult
Enumerator
NoChange 
PrefixChange 
NexthopChange 
AttributeChange 

Definition at line 64 of file static_route.cc.

Constructor & Destructor Documentation

◆ StaticRoute()

template<typename T >
StaticRoute< T >::StaticRoute ( RoutingInstance rtinstance,
StaticRouteMgrT manager,
const PrefixT static_route,
const StaticRouteConfig config 
)

Definition at line 180 of file static_route.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AddStaticRoute()

template<typename T >
void StaticRoute< T >::AddStaticRoute ( NexthopPathIdList list)

Definition at line 462 of file static_route.cc.

Here is the call graph for this function:

◆ bgp_table()

template<typename T >
BgpTable* StaticRoute< T >::bgp_table ( ) const
inline

Definition at line 93 of file static_route.cc.

Here is the call graph for this function:

◆ CompareConfig()

template<typename T >
StaticRoute< T >::CompareResult StaticRoute< T >::CompareConfig ( const StaticRouteConfig config)

Definition at line 197 of file static_route.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

template<typename T >
StaticRoute< T >::DISALLOW_COPY_AND_ASSIGN ( StaticRoute< T >  )
private

◆ FillShowInfo()

template<typename T >
void StaticRoute< T >::FillShowInfo ( StaticRouteInfo *  info) const

Definition at line 226 of file static_route.cc.

Here is the call graph for this function:

◆ GetAddress()

template<typename T >
AddressT StaticRoute< T >::GetAddress ( IpAddress  addr) const
inline

Definition at line 74 of file static_route.cc.

Here is the call graph for this function:

◆ GetCommunity()

template<typename T >
CommunityPtr StaticRoute< T >::GetCommunity ( const StaticRouteConfig config)
private

Definition at line 320 of file static_route.cc.

Here is the call graph for this function:

◆ GetFamily()

template<typename T >
Address::Family StaticRoute< T >::GetFamily ( ) const
inline

Definition at line 73 of file static_route.cc.

Here is the call graph for this function:

◆ is_nexthop_route()

template<typename T >
bool StaticRoute< T >::is_nexthop_route ( BgpRoute route)
inlineprivate

Definition at line 158 of file static_route.cc.

◆ IsPending()

template<typename T >
bool StaticRoute< T >::IsPending

Definition at line 584 of file static_route.cc.

Here is the call graph for this function:

◆ Match()

template<typename T >
bool StaticRoute< T >::Match ( BgpServer server,
BgpTable table,
BgpRoute route,
bool  deleted 
)
virtual

Implements ConditionMatch.

Definition at line 265 of file static_route.cc.

Here is the call graph for this function:

◆ nexthop()

template<typename T >
const IpAddress& StaticRoute< T >::nexthop ( ) const
inline

Definition at line 85 of file static_route.cc.

◆ nexthop_route()

template<typename T >
BgpRoute* StaticRoute< T >::nexthop_route ( ) const
inline

Definition at line 97 of file static_route.cc.

◆ NexthopPathIds()

template<typename T >
NexthopPathIdList* StaticRoute< T >::NexthopPathIds ( )
inline

Definition at line 101 of file static_route.cc.

◆ NotifyRoute()

template<typename T >
void StaticRoute< T >::NotifyRoute

Definition at line 573 of file static_route.cc.

Here is the call graph for this function:

◆ prefix()

template<typename T >
const PrefixT& StaticRoute< T >::prefix ( ) const
inline

Definition at line 81 of file static_route.cc.

◆ RemoveStaticRoute()

template<typename T >
void StaticRoute< T >::RemoveStaticRoute

Definition at line 391 of file static_route.cc.

Here is the call graph for this function:

◆ routing_instance()

template<typename T >
RoutingInstance* StaticRoute< T >::routing_instance ( ) const
inline

Definition at line 89 of file static_route.cc.

◆ rtarget_list()

template<typename T >
const RouteTargetList& StaticRoute< T >::rtarget_list ( ) const
inline

Definition at line 130 of file static_route.cc.

◆ set_nexthop_route()

template<typename T >
void StaticRoute< T >::set_nexthop_route ( BgpRoute nexthop_route)
inline

Definition at line 103 of file static_route.cc.

Here is the call graph for this function:

◆ set_unregistered()

template<typename T >
void StaticRoute< T >::set_unregistered ( )
inline

Definition at line 148 of file static_route.cc.

◆ ToString()

template<typename T >
virtual string StaticRoute< T >::ToString ( ) const
inlinevirtual

Implements ConditionMatch.

Definition at line 144 of file static_route.cc.

◆ unregistered()

template<typename T >
bool StaticRoute< T >::unregistered ( ) const
inline

Definition at line 152 of file static_route.cc.

◆ UpdateAttributes()

template<typename T >
void StaticRoute< T >::UpdateAttributes ( const StaticRouteConfig config)

Definition at line 376 of file static_route.cc.

Here is the call graph for this function:

◆ UpdateExtCommunity()

template<typename T >
ExtCommunityPtr StaticRoute< T >::UpdateExtCommunity ( const BgpAttr attr) const
private

Definition at line 344 of file static_route.cc.

Here is the call graph for this function:

◆ UpdateStaticRoute()

template<typename T >
void StaticRoute< T >::UpdateStaticRoute

Definition at line 418 of file static_route.cc.

Here is the call graph for this function:

Member Data Documentation

◆ community_

template<typename T >
CommunityPtr StaticRoute< T >::community_
private

Definition at line 173 of file static_route.cc.

◆ manager_

template<typename T >
StaticRouteMgrT* StaticRoute< T >::manager_
private

Definition at line 167 of file static_route.cc.

◆ nexthop_

template<typename T >
IpAddress StaticRoute< T >::nexthop_
private

Definition at line 169 of file static_route.cc.

◆ nexthop_path_ids_

template<typename T >
NexthopPathIdList StaticRoute< T >::nexthop_path_ids_
private

Definition at line 171 of file static_route.cc.

◆ nexthop_route_

template<typename T >
BgpRoute* StaticRoute< T >::nexthop_route_
private

Definition at line 170 of file static_route.cc.

◆ prefix_

template<typename T >
PrefixT StaticRoute< T >::prefix_
private

Definition at line 168 of file static_route.cc.

◆ routing_instance_

template<typename T >
RoutingInstance* StaticRoute< T >::routing_instance_
private

Definition at line 166 of file static_route.cc.

◆ rtarget_list_

template<typename T >
RouteTargetList StaticRoute< T >::rtarget_list_
private

Definition at line 172 of file static_route.cc.

◆ unregistered_

template<typename T >
bool StaticRoute< T >::unregistered_
private

Definition at line 174 of file static_route.cc.


The documentation for this class was generated from the following file: