INET Framework for OMNeT++/OMNEST
|
Functions | |
std::string | intToString (int i) |
std::string | vectorToString (IPAddressVector vec) |
std::string | vectorToString (IPAddressVector vec, const char *delim) |
std::string | vectorToString (EroVector vec) |
std::string | vectorToString (EroVector vec, const char *delim) |
EroVector | routeToEro (IPAddressVector rro) |
uint32 | getLevel (IPvXAddress addr) |
uint32 getLevel | ( | IPvXAddress | addr | ) |
Referenced by SCTPAssociation::processInitArrived(), and SCTPAssociation::sendInit().
{ if (addr.isIPv6()) { if (addr.get6().getScope()==IPv6Address::UNSPECIFIED || addr.get6().getScope()==IPv6Address::MULTICAST) return 0; if (addr.get6().getScope()==IPv6Address::LOOPBACK) return 1; if (addr.get6().getScope()==IPv6Address::LINK) return 2; if (addr.get6().getScope()==IPv6Address::SITE) return 3; } else { //Addresses usable with SCTP, but not as destination or source address if (addr.get4().maskedAddrAreEqual(addr.get4(), IPAddress("0.0.0.0"), IPAddress("255.0.0.0")) || addr.get4().maskedAddrAreEqual(addr.get4(), IPAddress("224.0.0.0"), IPAddress("240.0.0.0")) || addr.get4().maskedAddrAreEqual(addr.get4(), IPAddress("198.18.0.0"), IPAddress("255.255.255.0")) || addr.get4().maskedAddrAreEqual(addr.get4(), IPAddress("192.88.99.0"), IPAddress("255.255.255.0"))) return 0; //Loopback if (addr.get4().maskedAddrAreEqual(addr.get4(), IPAddress("127.0.0.0"), IPAddress("255.0.0.0"))) return 1; //Link-local if (addr.get4().maskedAddrAreEqual(addr.get4(), IPAddress("169.254.0.0"), IPAddress("255.255.0.0"))) return 2; //Private if (addr.get4().maskedAddrAreEqual(addr.get4(), IPAddress("10.0.0.0"), IPAddress("255.0.0.0")) || addr.get4().maskedAddrAreEqual(addr.get4(), IPAddress("172.16.0.0"), IPAddress("255.240.0.0")) || addr.get4().maskedAddrAreEqual(addr.get4(), IPAddress("192.168.0.0"), IPAddress("255.255.0.0"))) return 3; } //Global return 4; }
std::string intToString | ( | int | i | ) |
{
std::ostringstream stream;
stream << i << std::flush;
std::string str(stream.str());
return str;
}
EroVector routeToEro | ( | IPAddressVector | rro | ) |
{ EroVector ero; for(unsigned int i = 0; i < rro.size(); i++) { EroObj_t hop; hop.L = false; hop.node = rro[i]; ero.push_back(hop); } return ero; }
std::string vectorToString | ( | EroVector | vec, |
const char * | delim | ||
) |
{ std::ostringstream stream; for(unsigned int i = 0; i < vec.size(); i++) { stream << vec[i].node; if(i < vec.size() - 1) stream << delim; } stream << std::flush; std::string str(stream.str()); return str; }
std::string vectorToString | ( | EroVector | vec | ) |
{ return vectorToString(vec, ", "); }
std::string vectorToString | ( | IPAddressVector | vec, |
const char * | delim | ||
) |
{ std::ostringstream stream; for(unsigned int i = 0; i < vec.size(); i++) { stream << vec[i]; if(i < vec.size() - 1) stream << delim; } stream << std::flush; std::string str(stream.str()); return str; }
std::string vectorToString | ( | IPAddressVector | vec | ) |
Referenced by RSVP::print(), and vectorToString().
{ return vectorToString(vec, ", "); }