|
|
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:
vt | destination 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_direct | true 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:
nexthop | address 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:
faceid | the 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:
cost | OLSR 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:
originator | main 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_addr | the 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_filtered | true if the route has been filtered. |
string str ()
| str |
Returns: a string representation of the route entry.