This class stores a regular RIB routing table entry for either an IPv4 or an IPv6 route. It is a template class, where A is either a the IPv4 class or the IPv6 class.
IPRouteEntry (const IPNet<A>& net, Vif* vif, NextHop* nexthop,
const Protocol& protocol, uint16_t metric)
| IPRouteEntry |
Constructor for IPRouteEntry.
Parameters:
net | the Subnet (address and mask) of the routing table entry. |
vif | the Virtual Interface on which packets matching this routing table entry should be forwarded. |
nexthop | the NextHop router to which packets matching this entry should be forwarded. |
protocol | the routing protocol that originated this route. |
metric | the routing protocol metric for this route. |
~IPRouteEntry ()
| ~IPRouteEntry |
Destructor for Routing Table Entry
inline const IPNet<A>& net ()
| net |
[const]
Get the route entry's subnet addres.
Returns: the route entry's subnet address.
inline size_t prefix_len ()
| prefix_len |
[const]
Get the prefix length of the route entry's subnet address.
Returns: the prefix length (in bits) of the route entry's subnet address.
inline const A& nexthop_addr ()
| nexthop_addr |
[const]
Get the route entry's next-hop router address.
Returns: the route entry's next-hop router address. If there is no next-hop router, then the return value is IPv4#ZERO() or IPv6#ZERO().
string str ()
| str |
[const]
Get the route entry as a string for debugging purposes.
Returns: a human readable representation of the route entry.
Reimplemented from RouteEntry.
IPNet<A> _net | _net |
[protected]