|
INET Framework for OMNeT++/OMNEST
|
#include <ansaLsa6.h>
Public Member Functions | |
| AsExternalLsa (void) | |
| AsExternalLsa (const OspfAsExternalLsa6 &lsa) | |
| AsExternalLsa (const AsExternalLsa &lsa) | |
| virtual | ~AsExternalLsa (void) |
| bool | Update (const OspfAsExternalLsa6 *lsa) |
| bool | DiffersFrom (const OspfAsExternalLsa6 *asExternalLsa) const |
Definition at line 137 of file ansaLsa6.h.
| AnsaOspf6::AsExternalLsa::AsExternalLsa | ( | void | ) | [inline] |
Definition at line 142 of file ansaLsa6.h.
: OspfAsExternalLsa6(), RoutingInfo(), LsaTrackingInfo() {}
| AnsaOspf6::AsExternalLsa::AsExternalLsa | ( | const OspfAsExternalLsa6 & | lsa | ) | [inline] |
Definition at line 143 of file ansaLsa6.h.
: OspfAsExternalLsa6(lsa), RoutingInfo(), LsaTrackingInfo() {}
| AnsaOspf6::AsExternalLsa::AsExternalLsa | ( | const AsExternalLsa & | lsa | ) | [inline] |
Definition at line 144 of file ansaLsa6.h.
: OspfAsExternalLsa6(lsa), RoutingInfo(lsa), LsaTrackingInfo(lsa) {}
| virtual AnsaOspf6::AsExternalLsa::~AsExternalLsa | ( | void | ) | [inline, virtual] |
Definition at line 145 of file ansaLsa6.h.
{}
| bool AnsaOspf6::AsExternalLsa::DiffersFrom | ( | const OspfAsExternalLsa6 * | asExternalLsa | ) | const |
Definition at line 30 of file ansaLsa6Type5AsExternal.cc.
Referenced by Update().
{
const OspfLsaHeader6& lsaHeader = asExternalLsa->getHeader();
if (((header_var.getLsAge() == MAX_AGE) && (lsaHeader.getLsAge() != MAX_AGE))
|| ((header_var.getLsAge() != MAX_AGE) && (lsaHeader.getLsAge() == MAX_AGE))
|| (header_var.getAdvertisingRouter() != lsaHeader.getAdvertisingRouter())
|| (header_var.getLsSequenceNumber() != lsaHeader.getLsSequenceNumber())){
return true;
}else if (E_ExternalMetricType_var != asExternalLsa->getE_ExternalMetricType()){
return true;
}else if (F_ForwardingAddress_var != asExternalLsa->getF_ForwardingAddress()){
return true;
}else if (T_ExternalRouteTag_var != asExternalLsa->getT_ExternalRouteTag()){
return true;
}else if (metric_var != asExternalLsa->getMetric()){
return true;
}else if (prefixLenght_var != asExternalLsa->getPrefixLenght()){
return true;
}else if (prefixOptions_var != asExternalLsa->getPrefixOptions()){
return true;
}else if (referencedLsType_var != asExternalLsa->getReferencedLsType()){
return true;
}else if (addressPrefix_var != asExternalLsa->getAddressPrefix()){
return true;
}else if (forwardingAddress_var != asExternalLsa->getForwardingAddress()){
return true;
}else if (externalRouteTag_var != asExternalLsa->getExternalRouteTag()){
return true;
}else if (referencedLinkStateID_var != asExternalLsa->getReferencedLinkStateID()){
return true;
}
return false;
}
| bool AnsaOspf6::AsExternalLsa::Update | ( | const OspfAsExternalLsa6 * | lsa | ) |
Definition at line 18 of file ansaLsa6Type5AsExternal.cc.
{
bool different = DiffersFrom(lsa);
(*this) = (*lsa);
ResetInstallTime();
if (different){
ClearNextHops();
return true;
}else{
return false;
}
}