#include <OSPFRoutingTableEntry.h>
Definition at line 28 of file OSPFRoutingTableEntry.h.
| typedef unsigned char OSPF::RoutingTableEntry::RoutingDestinationType |
Definition at line 38 of file OSPFRoutingTableEntry.h.
Definition at line 31 of file OSPFRoutingTableEntry.h.
{
IntraArea = 0,
InterArea = 1,
Type1External = 2,
Type2External = 3
};
| OSPF::RoutingTableEntry::RoutingTableEntry | ( | void | ) | [inline] |
Definition at line 93 of file OSPFRoutingTableEntry.h.
:
IPRoute(),
destinationType(OSPF::RoutingTableEntry::NetworkDestination),
area(OSPF::BackboneAreaID),
pathType(OSPF::RoutingTableEntry::IntraArea),
type2Cost(0),
linkStateOrigin(NULL)
{
netmask = 0xFFFFFFFF;
source = IPRoute::OSPF;
memset(&optionalCapabilities, 0, sizeof(OSPFOptions));
}
| OSPF::RoutingTableEntry::RoutingTableEntry | ( | const RoutingTableEntry & | entry | ) | [inline] |
Definition at line 106 of file OSPFRoutingTableEntry.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 OSPF::RoutingTableEntry::~RoutingTableEntry | ( | void | ) | [inline, virtual] |
Definition at line 62 of file OSPFRoutingTableEntry.h.
{}
| void OSPF::RoutingTableEntry::AddNextHop | ( | OSPF::NextHop | hop | ) | [inline] |
Definition at line 158 of file OSPFRoutingTableEntry.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 OSPF::RoutingTableEntry::ClearNextHops | ( | void | ) | [inline] |
Definition at line 86 of file OSPFRoutingTableEntry.h.
{ nextHops.clear(); }
| IPAddress OSPF::RoutingTableEntry::GetAddressMask | ( | void | ) | const [inline] |
Definition at line 72 of file OSPFRoutingTableEntry.h.
Referenced by operator<<(), and OSPF::Area::OriginateSummaryLSA().
{ return netmask; }
| AreaID OSPF::RoutingTableEntry::GetArea | ( | void | ) | const [inline] |
| Metric OSPF::RoutingTableEntry::GetCost | ( | void | ) | const [inline] |
Definition at line 80 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::FindSameOrWorseCostRoute(), and operator<<().
{ return cost; }
| IPAddress OSPF::RoutingTableEntry::GetDestinationID | ( | void | ) | const [inline] |
Definition at line 70 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::FindSameOrWorseCostRoute(), operator<<(), and OSPF::Area::OriginateSummaryLSA().
{ return host; }
| RoutingDestinationType OSPF::RoutingTableEntry::GetDestinationType | ( | void | ) | const [inline] |
Definition at line 68 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::FindSameOrWorseCostRoute(), operator<<(), and OSPF::Area::OriginateSummaryLSA().
{ return destinationType; }
| const OSPFLSA* OSPF::RoutingTableEntry::GetLinkStateOrigin | ( | void | ) | const [inline] |
Definition at line 84 of file OSPFRoutingTableEntry.h.
Referenced by operator<<().
{ return linkStateOrigin; }
| NextHop OSPF::RoutingTableEntry::GetNextHop | ( | unsigned int | index | ) | const [inline] |
Definition at line 88 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), and operator<<().
{ return nextHops[index]; }
| unsigned int OSPF::RoutingTableEntry::GetNextHopCount | ( | void | ) | const [inline] |
Definition at line 87 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), and operator<<().
{ return nextHops.size(); }
| OSPFOptions OSPF::RoutingTableEntry::GetOptionalCapabilities | ( | void | ) | const [inline] |
Definition at line 74 of file OSPFRoutingTableEntry.h.
{ return optionalCapabilities; }
| RoutingPathType OSPF::RoutingTableEntry::GetPathType | ( | void | ) | const [inline] |
Definition at line 78 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::FindSameOrWorseCostRoute(), and operator<<().
{ return pathType; }
| Metric OSPF::RoutingTableEntry::GetType2Cost | ( | void | ) | const [inline] |
Definition at line 82 of file OSPFRoutingTableEntry.h.
Referenced by operator<<().
{ return type2Cost; }
| bool OSPF::RoutingTableEntry::operator!= | ( | const RoutingTableEntry & | entry | ) | const [inline] |
Definition at line 65 of file OSPFRoutingTableEntry.h.
{ return (!((*this) == entry)); }
| bool OSPF::RoutingTableEntry::operator== | ( | const RoutingTableEntry & | entry | ) | const [inline] |
Definition at line 169 of file OSPFRoutingTableEntry.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 OSPF::RoutingTableEntry::SetAddressMask | ( | IPAddress | destMask | ) | [inline] |
Definition at line 71 of file OSPFRoutingTableEntry.h.
{ netmask = destMask; }
| void OSPF::RoutingTableEntry::SetArea | ( | AreaID | source | ) | [inline] |
Definition at line 75 of file OSPFRoutingTableEntry.h.
| void OSPF::RoutingTableEntry::SetCost | ( | Metric | pathCost | ) | [inline] |
Definition at line 136 of file OSPFRoutingTableEntry.h.
Referenced by OSPFRouting::LoadExternalRoute().
| void OSPF::RoutingTableEntry::SetDestinationID | ( | IPAddress | destID | ) | [inline] |
Definition at line 69 of file OSPFRoutingTableEntry.h.
{ host = destID; }
| void OSPF::RoutingTableEntry::SetDestinationType | ( | RoutingDestinationType | type | ) | [inline] |
Definition at line 67 of file OSPFRoutingTableEntry.h.
{ destinationType = type; }
| void OSPF::RoutingTableEntry::SetLinkStateOrigin | ( | const OSPFLSA * | lsa | ) | [inline] |
Definition at line 83 of file OSPFRoutingTableEntry.h.
{ linkStateOrigin = lsa; }
| void OSPF::RoutingTableEntry::SetOptionalCapabilities | ( | OSPFOptions | options | ) | [inline] |
Definition at line 73 of file OSPFRoutingTableEntry.h.
{ optionalCapabilities = options; }
| void OSPF::RoutingTableEntry::SetPathType | ( | RoutingPathType | type | ) | [inline] |
Definition at line 125 of file OSPFRoutingTableEntry.h.
Referenced by OSPFRouting::LoadExternalRoute().
| void OSPF::RoutingTableEntry::SetType2Cost | ( | Metric | pathCost | ) | [inline] |
Definition at line 147 of file OSPFRoutingTableEntry.h.
Referenced by OSPFRouting::LoadExternalRoute().
AreaID OSPF::RoutingTableEntry::area [private] |
Definition at line 50 of file OSPFRoutingTableEntry.h.
Referenced by GetArea(), operator==(), and SetArea().
const unsigned char OSPF::RoutingTableEntry::AreaBorderRouterDestination = 1 [static] |
Definition at line 42 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::FindSameOrWorseCostRoute(), OSPF::Router::InstallASExternalLSA(), operator<<(), and OSPF::Area::OriginateSummaryLSA().
const unsigned char OSPF::RoutingTableEntry::ASBoundaryRouterDestination = 2 [static] |
Definition at line 43 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), OSPF::Area::FindSameOrWorseCostRoute(), OSPF::Router::InstallASExternalLSA(), operator<<(), and OSPF::Area::OriginateSummaryLSA().
Metric OSPF::RoutingTableEntry::cost [private] |
Definition at line 52 of file OSPFRoutingTableEntry.h.
Referenced by GetCost(), operator==(), SetCost(), SetPathType(), and SetType2Cost().
Definition at line 46 of file OSPFRoutingTableEntry.h.
Referenced by GetDestinationType(), operator==(), and SetDestinationType().
const OSPFLSA* OSPF::RoutingTableEntry::linkStateOrigin [private] |
Definition at line 54 of file OSPFRoutingTableEntry.h.
Referenced by GetLinkStateOrigin(), operator==(), and SetLinkStateOrigin().
const unsigned char OSPF::RoutingTableEntry::NetworkDestination = 0 [static] |
Definition at line 41 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), OSPF::Area::FindSameOrWorseCostRoute(), operator<<(), OSPF::Area::OriginateSummaryLSA(), and OSPF::Router::RebuildRoutingTable().
std::vector<NextHop> OSPF::RoutingTableEntry::nextHops [private] |
Definition at line 55 of file OSPFRoutingTableEntry.h.
Referenced by AddNextHop(), ClearNextHops(), GetNextHop(), GetNextHopCount(), and operator==().
OSPFOptions OSPF::RoutingTableEntry::optionalCapabilities [private] |
Definition at line 49 of file OSPFRoutingTableEntry.h.
Referenced by GetOptionalCapabilities(), operator==(), RoutingTableEntry(), and SetOptionalCapabilities().
Definition at line 51 of file OSPFRoutingTableEntry.h.
Referenced by GetPathType(), operator==(), SetCost(), SetPathType(), and SetType2Cost().
Metric OSPF::RoutingTableEntry::type2Cost [private] |
Definition at line 53 of file OSPFRoutingTableEntry.h.
Referenced by GetType2Cost(), operator==(), SetCost(), SetPathType(), and SetType2Cost().
1.7.1