A RIP peer is a host that sent RIP packets, originating routes, to the local RIP Port (Port<A>) that have originated routes. Most of a Peer's work is conducted by the Port associated with the Peer instance. The Peer class just acts as a container of information about the Peer host, such as the number of packets sent, the time of last update, etc. It also contains the original routes as received from the Peer host. Those routes are used to push them whenever the routing policy is modified.
typedef A Addr | Addr |
typedef Port<A> RipPort | RipPort |
typedef RouteEntry<A> Route | Route |
Peer (RipPort& p, const Addr& addr)
| Peer |
~Peer ()
| ~Peer |
const Addr& address ()
| address |
[const]
PeerCounters& counters ()
| counters |
Get counters associated with Peer.
const PeerCounters& counters ()
| counters |
[const]
Get counters associated with Peer.
RipPort& port ()
| port |
Get port associated with Peer.
const RipPort& port ()
| port |
[const]
Get port associated with Peer.
void set_last_active (const TimeVal& t)
| set_last_active |
const TimeVal& last_active ()
| last_active |
[const]
bool update_route (const IPNet<A>& net,
const A& nexthop,
uint32_t cost,
uint32_t tag,
const PolicyTags& policytags)
| update_route |
Update Route Entry in database for specified route.
Parameters:
net | the network route being updated. |
nexthop | the corresponding nexthop address. |
cost | the corresponding metric value as received from the route originator. |
tag | the corresponding route tag. |
policytags | the policytags of this route. |
Returns: true if an update occurs, false otherwise.
void push_routes ()
| push_routes |
Push routes through the system.
This is needed to apply the policy filters for re-filtering.
uint32_t expiry_secs ()
| expiry_secs |
[const]
Reimplemented from RouteEntryOrigin.
uint32_t deletion_secs ()
| deletion_secs |
[const]
Reimplemented from RouteEntryOrigin.
void set_expiry_timer (Route* route)
| set_expiry_timer |
[protected]
void expire_route (Route* route)
| expire_route |
[protected]
RipPort& _port | _port |
[protected]
Addr _addr | _addr |
[protected]
PeerCounters _counters | _counters |
[protected]
TimeVal _last_active | _last_active |
[protected]
PeerRoutes<A> _peer_routes | _peer_routes |
[protected]