|
INET Framework for OMNeT++/OMNEST
|
#include <AnsaOSPFRoutingTableEntry.h>
Definition at line 11 of file AnsaOSPFRoutingTableEntry.h.
| typedef unsigned char AnsaOSPF::RoutingTableEntry::RoutingDestinationType |
Definition at line 21 of file AnsaOSPFRoutingTableEntry.h.
Definition at line 14 of file AnsaOSPFRoutingTableEntry.h.
{
IntraArea = 0,
InterArea = 1,
Type1External = 2,
Type2External = 3
};
| AnsaOSPF::RoutingTableEntry::RoutingTableEntry | ( | void | ) | [inline] |
Definition at line 76 of file AnsaOSPFRoutingTableEntry.h.
:
IPRoute(),
destinationType(AnsaOSPF::RoutingTableEntry::NetworkDestination),
area(AnsaOSPF::BackboneAreaID),
pathType(AnsaOSPF::RoutingTableEntry::IntraArea),
type2Cost(0),
linkStateOrigin(NULL)
{
netmask = 0xFFFFFFFF;
source = IPRoute::OSPF;
memset(&optionalCapabilities, 0, sizeof(OSPFOptions));
}
| AnsaOSPF::RoutingTableEntry::RoutingTableEntry | ( | const RoutingTableEntry & | entry | ) | [inline] |
Definition at line 89 of file AnsaOSPFRoutingTableEntry.h.
:
destinationType(entry.destinationType),
optionalCapabilities(entry.optionalCapabilities),
area(entry.area),
pathType(entry.pathType),
cost(entry.cost),
type2Cost(entry.type2Cost),
linkStateOrigin(entry.linkStateOrigin),
nextHops(entry.nextHops)
{
host = entry.host;
netmask = entry.netmask;
gateway = entry.gateway;
interfacePtr = entry.interfacePtr;
type = entry.type;
source = entry.source;
metric = entry.metric;
}
| virtual AnsaOSPF::RoutingTableEntry::~RoutingTableEntry | ( | void | ) | [inline, virtual] |
Definition at line 45 of file AnsaOSPFRoutingTableEntry.h.
{}
| void AnsaOSPF::RoutingTableEntry::AddNextHop | ( | AnsaOSPF::NextHop | hop | ) | [inline] |
Definition at line 141 of file AnsaOSPFRoutingTableEntry.h.
{
if (nextHops.size() == 0) {
InterfaceEntry* routingInterface = InterfaceTableAccess().get()->getInterfaceById(hop.ifIndex);
interfacePtr = routingInterface;
gateway = ULongFromIPv4Address(hop.hopAddress); // TODO: verify this isn't necessary
}
nextHops.push_back(hop);
}
| void AnsaOSPF::RoutingTableEntry::ClearNextHops | ( | void | ) | [inline] |
Definition at line 69 of file AnsaOSPFRoutingTableEntry.h.
{ nextHops.clear(); }
| IPAddress AnsaOSPF::RoutingTableEntry::GetAddressMask | ( | void | ) | const [inline] |
Definition at line 55 of file AnsaOSPFRoutingTableEntry.h.
Referenced by operator<<(), and AnsaOSPF::Area::OriginateSummaryLSA().
{ return netmask; }
| AreaID AnsaOSPF::RoutingTableEntry::GetArea | ( | void | ) | const [inline] |
Definition at line 59 of file AnsaOSPFRoutingTableEntry.h.
Referenced by operator<<().
{ return area; }
| Metric AnsaOSPF::RoutingTableEntry::GetCost | ( | void | ) | const [inline] |
Definition at line 63 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPF::Area::FindSameOrWorseCostRoute(), and operator<<().
{ return cost; }
| IPAddress AnsaOSPF::RoutingTableEntry::GetDestinationID | ( | void | ) | const [inline] |
Definition at line 53 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPF::Area::FindSameOrWorseCostRoute(), operator<<(), and AnsaOSPF::Area::OriginateSummaryLSA().
{ return host; }
| RoutingDestinationType AnsaOSPF::RoutingTableEntry::GetDestinationType | ( | void | ) | const [inline] |
Definition at line 51 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPF::Area::FindSameOrWorseCostRoute(), operator<<(), and AnsaOSPF::Area::OriginateSummaryLSA().
{ return destinationType; }
| const OSPFLSA* AnsaOSPF::RoutingTableEntry::GetLinkStateOrigin | ( | void | ) | const [inline] |
Definition at line 67 of file AnsaOSPFRoutingTableEntry.h.
Referenced by operator<<().
{ return linkStateOrigin; }
| NextHop AnsaOSPF::RoutingTableEntry::GetNextHop | ( | unsigned int | index | ) | const [inline] |
Definition at line 71 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), and operator<<().
| unsigned int AnsaOSPF::RoutingTableEntry::GetNextHopCount | ( | void | ) | const [inline] |
Definition at line 70 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), and operator<<().
{ return nextHops.size(); }
| OSPFOptions AnsaOSPF::RoutingTableEntry::GetOptionalCapabilities | ( | void | ) | const [inline] |
Definition at line 57 of file AnsaOSPFRoutingTableEntry.h.
{ return optionalCapabilities; }
| RoutingPathType AnsaOSPF::RoutingTableEntry::GetPathType | ( | void | ) | const [inline] |
Definition at line 61 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPF::Area::FindSameOrWorseCostRoute(), and operator<<().
{ return pathType; }
| Metric AnsaOSPF::RoutingTableEntry::GetType2Cost | ( | void | ) | const [inline] |
Definition at line 65 of file AnsaOSPFRoutingTableEntry.h.
Referenced by operator<<().
{ return type2Cost; }
| bool AnsaOSPF::RoutingTableEntry::operator!= | ( | const RoutingTableEntry & | entry | ) | const [inline] |
Definition at line 48 of file AnsaOSPFRoutingTableEntry.h.
{ return (!((*this) == entry)); }
| bool AnsaOSPF::RoutingTableEntry::operator== | ( | const RoutingTableEntry & | entry | ) | const [inline] |
Definition at line 152 of file AnsaOSPFRoutingTableEntry.h.
{
unsigned int hopCount = nextHops.size();
unsigned int i = 0;
if (hopCount != entry.nextHops.size()) {
return false;
}
for (i = 0; i < hopCount; i++) {
if ((nextHops[i] != entry.nextHops[i]))
{
return false;
}
}
return ((destinationType == entry.destinationType) &&
(host == entry.host) &&
(netmask == entry.netmask) &&
(optionalCapabilities == entry.optionalCapabilities) &&
(area == entry.area) &&
(pathType == entry.pathType) &&
(cost == entry.cost) &&
(type2Cost == entry.type2Cost) &&
(linkStateOrigin == entry.linkStateOrigin));
}
| void AnsaOSPF::RoutingTableEntry::SetAddressMask | ( | IPAddress | destMask | ) | [inline] |
Definition at line 54 of file AnsaOSPFRoutingTableEntry.h.
{ netmask = destMask; }
| void AnsaOSPF::RoutingTableEntry::SetArea | ( | AreaID | source | ) | [inline] |
Definition at line 58 of file AnsaOSPFRoutingTableEntry.h.
| void AnsaOSPF::RoutingTableEntry::SetCost | ( | Metric | pathCost | ) | [inline] |
Definition at line 119 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPFRouting::LoadExternalRoute().
| void AnsaOSPF::RoutingTableEntry::SetDestinationID | ( | IPAddress | destID | ) | [inline] |
Definition at line 52 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPF::Area::CreateRoutingTableEntryFromSummaryLSA().
{ host = destID; }
| void AnsaOSPF::RoutingTableEntry::SetDestinationType | ( | RoutingDestinationType | type | ) | [inline] |
Definition at line 50 of file AnsaOSPFRoutingTableEntry.h.
{ destinationType = type; }
| void AnsaOSPF::RoutingTableEntry::SetLinkStateOrigin | ( | const OSPFLSA * | lsa | ) | [inline] |
Definition at line 66 of file AnsaOSPFRoutingTableEntry.h.
{ linkStateOrigin = lsa; }
| void AnsaOSPF::RoutingTableEntry::SetOptionalCapabilities | ( | OSPFOptions | options | ) | [inline] |
Definition at line 56 of file AnsaOSPFRoutingTableEntry.h.
{ optionalCapabilities = options; }
| void AnsaOSPF::RoutingTableEntry::SetPathType | ( | RoutingPathType | type | ) | [inline] |
Definition at line 108 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPFRouting::LoadExternalRoute().
| void AnsaOSPF::RoutingTableEntry::SetType2Cost | ( | Metric | pathCost | ) | [inline] |
Definition at line 130 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPFRouting::LoadExternalRoute().
AreaID AnsaOSPF::RoutingTableEntry::area [private] |
Definition at line 33 of file AnsaOSPFRoutingTableEntry.h.
Referenced by GetArea(), operator==(), and SetArea().
const unsigned char AnsaOSPF::RoutingTableEntry::AreaBorderRouterDestination = 1 [static] |
Definition at line 25 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPF::Area::FindSameOrWorseCostRoute(), AnsaOSPF::Router::InstallASExternalLSA(), operator<<(), and AnsaOSPF::Area::OriginateSummaryLSA().
const unsigned char AnsaOSPF::RoutingTableEntry::ASBoundaryRouterDestination = 2 [static] |
Definition at line 26 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), AnsaOSPF::Area::FindSameOrWorseCostRoute(), AnsaOSPF::Router::InstallASExternalLSA(), operator<<(), and AnsaOSPF::Area::OriginateSummaryLSA().
Metric AnsaOSPF::RoutingTableEntry::cost [private] |
Definition at line 35 of file AnsaOSPFRoutingTableEntry.h.
Referenced by GetCost(), and operator==().
Definition at line 29 of file AnsaOSPFRoutingTableEntry.h.
Referenced by GetDestinationType(), operator==(), and SetDestinationType().
const OSPFLSA* AnsaOSPF::RoutingTableEntry::linkStateOrigin [private] |
Definition at line 37 of file AnsaOSPFRoutingTableEntry.h.
Referenced by GetLinkStateOrigin(), operator==(), and SetLinkStateOrigin().
const unsigned char AnsaOSPF::RoutingTableEntry::NetworkDestination = 0 [static] |
Definition at line 24 of file AnsaOSPFRoutingTableEntry.h.
Referenced by AnsaOSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), AnsaOSPF::Area::FindSameOrWorseCostRoute(), operator<<(), AnsaOSPF::Area::OriginateSummaryLSA(), and AnsaOSPF::Router::RebuildRoutingTable().
std::vector<NextHop> AnsaOSPF::RoutingTableEntry::nextHops [private] |
Definition at line 38 of file AnsaOSPFRoutingTableEntry.h.
Referenced by ClearNextHops(), GetNextHop(), GetNextHopCount(), and operator==().
Definition at line 32 of file AnsaOSPFRoutingTableEntry.h.
Referenced by GetOptionalCapabilities(), operator==(), RoutingTableEntry(), and SetOptionalCapabilities().
Definition at line 34 of file AnsaOSPFRoutingTableEntry.h.
Referenced by GetPathType(), and operator==().
Metric AnsaOSPF::RoutingTableEntry::type2Cost [private] |
Definition at line 36 of file AnsaOSPFRoutingTableEntry.h.
Referenced by GetType2Cost(), and operator==().