#include <LSA.h>
Inheritance diagram for OSPF::NetworkLSA:

Public Member Functions | |
| NetworkLSA (void) | |
| NetworkLSA (const OSPFNetworkLSA &lsa) | |
| NetworkLSA (const NetworkLSA &lsa) | |
| virtual | ~NetworkLSA (void) |
| bool | ValidateLSChecksum () const |
| bool | Update (const OSPFNetworkLSA *lsa) |
| bool | DiffersFrom (const OSPFNetworkLSA *networkLSA) const |
|
|
00085 : OSPFNetworkLSA (), RoutingInfo (), LSATrackingInfo () {}
|
|
|
00086 : OSPFNetworkLSA (lsa), RoutingInfo (), LSATrackingInfo () {}
|
|
|
00087 : OSPFNetworkLSA (lsa), RoutingInfo (lsa), LSATrackingInfo (lsa) {}
|
|
|
00088 {}
|
|
|
00017 {
00018 const OSPFLSAHeader& lsaHeader = networkLSA->getHeader ();
00019 bool differentHeader = ((header_var.getLsOptions () != lsaHeader.getLsOptions ()) ||
00020 ((header_var.getLsAge () == MAX_AGE) && (lsaHeader.getLsAge () != MAX_AGE)) ||
00021 ((header_var.getLsAge () != MAX_AGE) && (lsaHeader.getLsAge () == MAX_AGE)) ||
00022 (header_var.getLength () != lsaHeader.getLength ()));
00023 bool differentBody = false;
00024
00025 if (!differentHeader) {
00026 differentBody = ((networkMask_var != networkLSA->getNetworkMask ()) ||
00027 (attachedRouters_arraysize != networkLSA->getAttachedRoutersArraySize ()));
00028
00029 if (!differentBody) {
00030 unsigned int routerCount = attachedRouters_arraysize;
00031 for (unsigned int i = 0; i < routerCount; i++) {
00032 if (attachedRouters_var[i] != networkLSA->getAttachedRouters (i)) {
00033 differentBody = true;
00034 break;
00035 }
00036 }
00037 }
00038 }
00039
00040 return (differentHeader || differentBody);
00041 }
|
|
|
00004 {
00005 bool different = DiffersFrom (lsa);
00006 (*this) = (*lsa);
00007 ResetInstallTime ();
00008 if (different) {
00009 ClearNextHops ();
00010 return true;
00011 } else {
00012 return false;
00013 }
00014 }
|
|
|
00090 { return true; } // not implemented
|
1.4.1