class RouteEntry

An OLSR internal route entry. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

OLSRv1, unlike OSPF, does not implement areas, therefore there is no need in the current design to have logical separation between the routes which it processes internally and those which it exports to the RIB.

It also has no concept of network LSAs [HNA routes are not used in calculating reachability in the OLSR topology] therefore the address property is not present here, nor is the 'discard' flag, nor is the path type.

TODO: Import this definition into UML. TODO: Templatize to hold IPv6.

 RouteEntry ()

RouteEntry

inline OlsrTypes::VertexType  destination_type ()

destination_type

[const]

inline void  set_destination_type (const OlsrTypes::VertexType vt)

set_destination_type

Set the type of the destination in this route entry. The VertexType is re-used for this.

Parameters:

vtdestination type.
inline bool  direct ()

direct

[const]

Strictly speaking, we should still add it to the RIB; the local node MAY use ARP for L2 resolution, but we may still wish to redistribute routes for these destinations, in order to see OLSR protocol specific information for those destinations.

Returns: true if the destination is directly connected.

inline void  set_direct (bool is_direct)

set_direct

Set if the destination is directly connected.

Parameters:

is_directtrue if destination is directly connected.
inline IPv4  nexthop ()

nexthop

[const]

Returns: protocol address of next hop.

inline void  set_nexthop (const IPv4& nexthop)

set_nexthop

Set protocol address of next hop.

Parameters:

nexthopaddress of next hop.
inline OlsrTypes::FaceID  faceid ()

faceid

Returns: the ID of the interface used to reach the destination.

inline void  set_faceid (const OlsrTypes::FaceID faceid)

set_faceid

Set the ID of the interface used to reach the destination.

Parameters:

faceidthe ID of the outward interface.
inline uint32_t  cost ()

cost

[const]

Returns: OLSR protocol cost of route.

inline void  set_cost (const uint32_t cost)

set_cost

Set OLSR protocol cost of route.

Parameters:

costOLSR protocol cost of route.
inline IPv4  originator ()

originator

[const]

Returns: main address of node which originated this route.

inline void  set_originator (const IPv4& originator)

set_originator

Set the originator of this route.

Parameters:

originatormain address of node originating this route.
inline IPv4  main_address ()

main_address

[const]

Returns: the OLSR main address of the destination. May be unset.

inline void  set_main_address (const IPv4& main_addr)

set_main_address

Set the main address of the destination. Applicable only if if this is a route which is tagged with such information (N1, N2, TC, MID). May be the same as the destination.

Parameters:

main_addrthe OLSR main address of the destination.
inline bool  filtered ()

filtered

[const]

Returns: true if this route has been filtered by policy filters.

inline void  set_filtered (const bool was_filtered)

set_filtered

Set if this route has been filtered by policy filters.

Parameters:

was_filteredtrue if the route has been filtered.
string  str ()

str

Returns: a string representation of the route entry.


Generated by: bms on anglepoise.lon.incunabulum.net on Wed Jul 23 10:06:13 2008, using kdoc 2.0a54+XORP.