xorp

PolicyTableSourceMatch< A > Class Template Reference

SourceMatch table has the aditional ability to perform route dumps. More...

#include <route_table_policy_sm.hh>

Inheritance diagram for PolicyTableSourceMatch< A >:
PolicyTable< A > BGPRouteTable< A >

List of all members.

Public Member Functions

 PolicyTableSourceMatch (const string &tablename, const Safi &safi, BGPRouteTable< A > *parent, PolicyFilters &pfs, EventLoop &ev)
void push_routes (list< const PeerTableInfo< A > * > &peer_list)
 Push routes of all these peers.
void peering_is_down (const PeerHandler *peer, uint32_t genid)
void peering_went_down (const PeerHandler *peer, uint32_t genid, BGPRouteTable< A > *caller)
void peering_down_complete (const PeerHandler *peer, uint32_t genid, BGPRouteTable< A > *caller)
void peering_came_up (const PeerHandler *peer, uint32_t genid, BGPRouteTable< A > *caller)

Private Member Functions

void do_next_route_dump ()
 Dump the next route.
void end_route_dump ()
 Stop dumping routes.
bool do_background_dump ()
 Do a background route dump.
bool pushing_routes ()
 Check whether a policy push is occuring.
EventLoopeventloop ()

Private Attributes

bool _pushing_routes
DumpIterator< A > * _dump_iter
EventLoop_ev
XorpTask _dump_task

Detailed Description

template<class A>
class PolicyTableSourceMatch< A >

SourceMatch table has the aditional ability to perform route dumps.

The SourceMatch policy table will request the route dumps from the ribin. These dumps will eventually meet an import policy table and be translated to an add/replace or delete.


Constructor & Destructor Documentation

template<class A>
PolicyTableSourceMatch< A >::PolicyTableSourceMatch ( const string &  tablename,
const Safi &  safi,
BGPRouteTable< A > *  parent,
PolicyFilters pfs,
EventLoop ev 
)
Parameters:
tablenamethe name of the table.
safithe safi.
parentthe parent table.
pfsa reference to the global policyfilters.
evevent loop for this process.

Member Function Documentation

template<class A>
void PolicyTableSourceMatch< A >::push_routes ( list< const PeerTableInfo< A > * > &  peer_list)

Push routes of all these peers.

Parameters:
peer_listpeers for which routes whould be dumped.
template<class A >
bool PolicyTableSourceMatch< A >::pushing_routes ( ) [private]

Check whether a policy push is occuring.

Returns:
true if routes are being pushed

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations