INET Framework for OMNeT++/OMNEST
|
Represents a route in the route table. More...
#include <IPv6Route.h>
Public Types | |
enum | RouteAdminDist { dDirectlyConnected = 0, dStatic = 1, dEIGRPSummary = 5, dBGPExternal = 20, dEIGRPInternal = 90, dIGRP = 100, dOSPF = 110, dISIS = 115, dRIP = 120, dEGP = 140, dODR = 160, dEIGRPExternal = 170, dBGPInternal = 200, dDHCPlearned = 254, dUnknown = 255 } |
Cisco like administrative distances (includes IPv4 protocols) More... | |
Public Types inherited from inet::IRoute | |
enum | SourceType { MANUAL, IFACENETMASK, ROUTER_ADVERTISEMENT, OWN_ADV_PREFIX, ICMP_REDIRECT, RIP, OSPF, BGP, ZEBRA, MANET, MANET2, DYMO, AODV } |
Specifies where the route comes from. More... | |
enum | ChangeCodes { F_DESTINATION, F_PREFIX_LENGTH, F_NEXTHOP, F_IFACE, F_SOURCE, F_TYPE, F_ADMINDIST, F_METRIC, F_EXPIRYTIME, F_LAST } |
Field codes for NB_ROUTE_CHANGED notifications. More... | |
Public Member Functions | |
IPv6Route (IPv6Address destPrefix, int prefixLength, SourceType sourceType) | |
Constructor. More... | |
virtual | ~IPv6Route () |
virtual std::string | info () const override |
virtual std::string | detailedInfo () const override |
virtual void | setRoutingTable (IPv6RoutingTable *rt) |
To be called by the routing table when this route is added or removed from it. More... | |
IPv6RoutingTable * | getRoutingTable () const |
void | setNextHop (const IPv6Address &nextHop) |
void | setExpiryTime (simtime_t expiryTime) |
void | setMetric (int metric) override |
void | setAdminDist (unsigned int adminDist) |
const IPv6Address & | getDestPrefix () const |
virtual int | getPrefixLength () const override |
Represents length of prefix to match. More... | |
virtual SourceType | getSourceType () const override |
Source type of the route. More... | |
const IPv6Address & | getNextHop () const |
simtime_t | getExpiryTime () const |
virtual int | getMetric () const override |
Cost to reach the destination. More... | |
unsigned int | getAdminDist () const |
virtual IRoutingTable * | getRoutingTableAsGeneric () const override |
The routing table in which this route is inserted, or nullptr. More... | |
virtual void | setDestination (const L3Address &dest) override |
virtual void | setPrefixLength (int prefixLength) override |
virtual void | setNextHop (const L3Address &nextHop) override |
virtual void | setSource (cObject *source) override |
virtual void | setSourceType (SourceType type) override |
virtual L3Address | getDestinationAsGeneric () const override |
Destination address prefix to match. More... | |
virtual L3Address | getNextHopAsGeneric () const override |
Next hop address. More... | |
virtual InterfaceEntry * | getInterface () const override |
Next hop interface. More... | |
virtual void | setInterface (InterfaceEntry *ie) override |
virtual cObject * | getSource () const override |
Source of route. More... | |
virtual cObject * | getProtocolData () const override |
virtual void | setProtocolData (cObject *protocolData) override |
Public Member Functions inherited from inet::IRoute | |
virtual | ~IRoute () |
virtual void | setSourceType (SourceType type)=0 |
Protected Member Functions | |
void | changed (int fieldCode) |
Routing Protocol specific data. More... | |
Protected Attributes | |
IPv6RoutingTable * | _rt |
IPv6Address | _destPrefix |
short | _prefixLength |
SourceType | _sourceType |
InterfaceEntry * | _interfacePtr |
IPv6Address | _nextHop |
simtime_t | _expiryTime |
int | _metric |
unsigned int | _adminDist |
cObject * | _source |
cObject * | _protocolData |
Object identifying the source. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from inet::IRoute | |
static const char * | sourceTypeName (SourceType sourceType) |
Represents a route in the route table.
Routes with sourceType=ROUTER_ADVERTISEMENT represent on-link prefixes advertised by routers.
Cisco like administrative distances (includes IPv4 protocols)
Enumerator | |
---|---|
dDirectlyConnected | |
dStatic | |
dEIGRPSummary | |
dBGPExternal | |
dEIGRPInternal | |
dIGRP | |
dOSPF | |
dISIS | |
dRIP | |
dEGP | |
dODR | |
dEIGRPExternal | |
dBGPInternal | |
dDHCPlearned | |
dUnknown |
|
inline |
Constructor.
The destination prefix and the route source is passed to the constructor and cannot be changed afterwards.
|
inlinevirtual |
|
protected |
Routing Protocol specific data.
|
overridevirtual |
|
inline |
Referenced by inet::IPv6RoutingTable::routeLessThan().
|
inlineoverridevirtual |
|
inline |
Referenced by info().
|
inline |
Referenced by inet::IPv6NeighbourDiscovery::determineNextHop(), inet::IPv6::determineOutputInterface(), and info().
|
inlineoverridevirtual |
Next hop interface.
Implements inet::IRoute.
Referenced by inet::IPv6RoutingTable::deleteInterfaceRoutes(), inet::IPv6NeighbourDiscovery::determineNextHop(), inet::IPv6::determineOutputInterface(), and inet::IPv6RoutingTable::getOutputInterfaceForDestination().
|
inlineoverridevirtual |
Cost to reach the destination.
Implements inet::IRoute.
Referenced by inet::IPv6RoutingTable::routeLessThan().
|
inline |
Referenced by inet::IPv6NeighbourDiscovery::determineNextHop(), inet::IPv6::determineOutputInterface(), and info().
|
inlineoverridevirtual |
Next hop address.
Implements inet::IRoute.
Referenced by inet::IPv6RoutingTable::getNextHopForDestination().
|
inlineoverridevirtual |
Represents length of prefix to match.
Implements inet::IRoute.
Referenced by info(), and inet::IPv6RoutingTable::routeLessThan().
|
inlineoverridevirtual |
Implements inet::IRoute.
|
inline |
|
overridevirtual |
The routing table in which this route is inserted, or nullptr.
Implements inet::IRoute.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
overridevirtual |
Referenced by inet::operator<<().
|
inline |
Referenced by inet::IPv6RoutingTable::addDefaultRoute(), inet::IPv6RoutingTable::addOrUpdateOnLinkPrefix(), inet::IPv6RoutingTable::addOrUpdateOwnAdvPrefix(), and inet::IPv6RoutingTable::addStaticRoute().
|
inlineoverridevirtual |
Implements inet::IRoute.
|
inline |
Referenced by inet::IPv6RoutingTable::addDefaultRoute(), inet::IPv6RoutingTable::addOrUpdateOnLinkPrefix(), and inet::IPv6RoutingTable::addOrUpdateOwnAdvPrefix().
|
inlineoverridevirtual |
Implements inet::IRoute.
Referenced by inet::IPv6RoutingTable::addDefaultRoute(), inet::IPv6RoutingTable::addOrUpdateOnLinkPrefix(), inet::IPv6RoutingTable::addOrUpdateOwnAdvPrefix(), and inet::IPv6RoutingTable::addStaticRoute().
|
inlineoverridevirtual |
Implements inet::IRoute.
Referenced by inet::IPv6RoutingTable::addDefaultRoute(), inet::IPv6RoutingTable::addOrUpdateOnLinkPrefix(), inet::IPv6RoutingTable::addOrUpdateOwnAdvPrefix(), and inet::IPv6RoutingTable::addStaticRoute().
|
inline |
Referenced by inet::IPv6RoutingTable::addDefaultRoute(), and inet::IPv6RoutingTable::addStaticRoute().
|
inlineoverridevirtual |
Implements inet::IRoute.
|
inlineoverridevirtual |
Implements inet::IRoute.
|
inlineoverridevirtual |
Implements inet::IRoute.
|
inlinevirtual |
To be called by the routing table when this route is added or removed from it.
Referenced by inet::IPv6RoutingTable::internalAddRoute(), and inet::IPv6RoutingTable::internalRemoveRoute().
|
inlineoverridevirtual |
Implements inet::IRoute.
|
inlineoverridevirtual |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by info().
|
protected |
|
protected |
|
protected |
|
protected |
Object identifying the source.
|
protected |
Referenced by changed().
|
protected |
|
protected |