|
INET Framework for OMNeT++/OMNEST
|
Go to the source code of this file.
Classes | |
| class | AnsaOspf6::RoutingTableEntry |
Namespaces | |
| namespace | AnsaOspf6 |
Functions | |
| std::ostream & | operator<< (std::ostream &out, const AnsaOspf6::RoutingTableEntry &entry) |
| std::ostream& operator<< | ( | std::ostream & | out, |
| const AnsaOspf6::RoutingTableEntry & | entry | ||
| ) | [inline] |
Definition at line 175 of file ansaOspfRoutingTableEntry6.h.
{
out << "Destination: "
<< entry.GetDestinationPrefix().str()
<< "/"
<< entry.GetPrefixLength()
<< " (";
if (entry.GetDestinationType() == AnsaOspf6::RoutingTableEntry::NetworkDestination) {
out << "Network";
} else {
if ((entry.GetDestinationType()
& AnsaOspf6::RoutingTableEntry::AreaBorderRouterDestination) != 0) {
out << "AreaBorderRouter";
}
if ((entry.GetDestinationType()
& ( AnsaOspf6::RoutingTableEntry::ASBoundaryRouterDestination
| AnsaOspf6::RoutingTableEntry::AreaBorderRouterDestination)) != 0) {
out << "+";
}
if ((entry.GetDestinationType()
& AnsaOspf6::RoutingTableEntry::ASBoundaryRouterDestination) != 0) {
out << "ASBoundaryRouter";
}
}
out << "), Area: "
<< entry.GetArea()
<< ", PathType: ";
switch (entry.GetPathType()){
case AnsaOspf6::RoutingTableEntry::IntraArea:
out << "IntraArea";
break;
case AnsaOspf6::RoutingTableEntry::InterArea:
out << "InterArea";
break;
case AnsaOspf6::RoutingTableEntry::Type1External:
out << "Type1External";
break;
case AnsaOspf6::RoutingTableEntry::Type2External:
out << "Type2External";
break;
default:
out << "Unknown";
break;
}
out << ", Cost: "
<< entry.GetCost()
<< ", Type2Cost: "
<< entry.GetType2Cost()
<< ", Origin: [";
PrintLsaHeader6(entry.GetLinkStateOrigin()->getHeader(), out);
out << "], NextHops: ";
unsigned int hopCount = entry.GetNextHopCount();
for (unsigned int i = 0; i < hopCount; i++) {
out << entry.GetNextHop(i).hopAddress << " ";
}
return out;
}