xorp

DampingTable< A > Class Template Reference

Manage the damping of routes. More...

#include <route_table_damping.hh>

Inheritance diagram for DampingTable< A >:
BGPRouteTable< A >

List of all members.

Public Member Functions

 DampingTable (string tablename, Safi safi, BGPRouteTable< A > *parent, const PeerHandler *peer, Damping &damping)
int add_route (InternalMessage< A > &rtmsg, BGPRouteTable< A > *caller)
int replace_route (InternalMessage< A > &old_rtmsg, InternalMessage< A > &new_rtmsg, BGPRouteTable< A > *caller)
int delete_route (InternalMessage< A > &rtmsg, BGPRouteTable< A > *caller)
int push (BGPRouteTable< A > *caller)
int route_dump (InternalMessage< A > &rtmsg, BGPRouteTable< A > *caller, const PeerHandler *dump_peer)
const SubnetRoute< A > * lookup_route (const IPNet< A > &net, uint32_t &genid, FPAListRef &pa_list) const
void route_used (const SubnetRoute< A > *route, bool in_use)
RouteTableType type () const
string str () const

Private Member Functions

bool damping () const
bool damping_global () const
bool update_figure_of_merit (Damp &damp, const InternalMessage< A > &rtmsg)
 Update the figure of merit for this route.
bool is_this_route_damped (const IPNet< A > &net) const
 Is this route being damped.
void undamp (IPNet< A > net)
 Callback method called to release damped route.
EventLoopeventloop () const

Private Attributes

const PeerHandler_peer
Damping_damping
Trie< A, Damp_damp
RefTrie< A, DampRoute< A > > _damped
uint32_t _damp_count

Detailed Description

template<class A>
class DampingTable< A >

Manage the damping of routes.

NOTE: If damping was enabled and is then disabled it is possible that some routes may be damped. While damped routes exist the damping code is entered, no more routes are damped but routes are only released as the timers fire.


Member Function Documentation

template<class A >
bool DampingTable< A >::update_figure_of_merit ( Damp damp,
const InternalMessage< A > &  rtmsg 
) [private]

Update the figure of merit for this route.

Returns:
true if the route should be damped.

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