|
INET Framework for OMNeT++/OMNEST
|
#include <ansaOspfInterface6.h>
Definition at line 32 of file ansaOspfInterface6.h.
| InterfaceUp | |
| HelloTimer | |
| WaitTimer | |
| AcknowledgementTimer | |
| BackupSeen | |
| NeighborChange | |
| LoopIndication | |
| UnloopIndication | |
| InterfaceDown |
Definition at line 34 of file ansaOspfInterface6.h.
{
InterfaceUp = 0,
HelloTimer = 1,
WaitTimer = 2,
AcknowledgementTimer = 3,
BackupSeen = 4,
NeighborChange = 5,
LoopIndication = 6,
UnloopIndication = 7,
InterfaceDown = 8
};
| DownState | |
| LoopbackState | |
| WaitingState | |
| PointToPointState | |
| NotDesignatedRouterState | |
| BackupState | |
| DesignatedRouterState |
Definition at line 55 of file ansaOspfInterface6.h.
{
DownState = 0,
LoopbackState = 1,
WaitingState = 2,
PointToPointState = 3,
NotDesignatedRouterState = 4,
BackupState = 5,
DesignatedRouterState = 6
};
Definition at line 46 of file ansaOspfInterface6.h.
{
UnknownType = 0,
PointToPoint = 1,
Broadcast = 2,
NBMA = 3,
PointToMultiPoint = 4,
Virtual = 5
};
Definition at line 25 of file ansaOspfInterface6.cc.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
:
interfaceType(ifType),
ifIndex(0),
instanceID(0),
mtu(0),
areaID(AnsaOspf6::BackboneAreaID),
transitAreaID(AnsaOspf6::BackboneAreaID),
helloInterval(10),
pollInterval(120),
routerDeadInterval(40),
interfaceTransmissionDelay(1),
routerPriority(1),
designatedRouter(AnsaOspf6::NullDesignatedRouterID),
backupDesignatedRouter(AnsaOspf6::NullDesignatedRouterID),
interfaceOutputCost(10),
retransmissionInterval(5),
acknowledgementDelay(1),
parentArea(NULL),
isGoingDown(false){
state = new AnsaOspf6::InterfaceStateDown;
previousState = NULL;
helloTimer = new OspfTimer6;
helloTimer->setTimerKind(InterfaceHelloTimer);
helloTimer->setContextPointer(this);
helloTimer->setName("AnsaOspf6::Interface::InterfaceHelloTimer");
waitTimer = new OspfTimer6;
waitTimer->setTimerKind(InterfaceWaitTimer);
waitTimer->setContextPointer(this);
waitTimer->setName("AnsaOspf6::Interface::InterfaceWaitTimer");
/*
acknowledgementTimer = new OspfTimer6;
acknowledgementTimer->setTimerKind(InterfaceAcknowledgementTimer);
acknowledgementTimer->setContextPointer(this);
acknowledgementTimer->setName("AnsaOspf6::Interface::InterfaceAcknowledgementTimer");
*/
}
| AnsaOspf6::Interface::~Interface | ( | void | ) | [virtual] |
Definition at line 64 of file ansaOspfInterface6.cc.
{
MessageHandler* messageHandler = parentArea->GetRouter()->GetMessageHandler();
if (helloTimer != NULL){
messageHandler->ClearTimer(helloTimer);
delete helloTimer;
}
if (waitTimer != NULL){
messageHandler->ClearTimer(waitTimer);
delete waitTimer;
}
/* TODO
messageHandler->ClearTimer(acknowledgementTimer);
delete acknowledgementTimer;
*/
if (previousState != NULL){
delete previousState;
}
delete state;
long neighborCount = neighboringRouters.size();
for (long i = 0; i < neighborCount; i++){
delete neighboringRouters[i];
}
}
| void AnsaOspf6::Interface::AddAddressPrefix | ( | IPv6AddressPrefix | prefix, |
| bool | advertise | ||
| ) | [inline] |
Definition at line 163 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ interfaceAddressPrefixes.push_back(prefix); advertiseAddressPrefixes[prefix] = advertise; }
| void AnsaOspf6::Interface::AddDelayedAcknowledgement | ( | OspfLsaHeader6 & | lsaHeader | ) |
Definition at line 516 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::LinkStateUpdateHandler::AcknowledgeLSA().
{
if (interfaceType == AnsaOspf6::Interface::Broadcast){
if ( (GetState() == AnsaOspf6::Interface::DesignatedRouterState)
|| (GetState() == AnsaOspf6::Interface::BackupState)
|| (designatedRouter == AnsaOspf6::NullDesignatedRouterID)){
delayedAcknowledgements[AnsaOspf6::AllSPFRouters].push_back(lsaHeader);
}else{
delayedAcknowledgements[AnsaOspf6::AllDRouters].push_back(lsaHeader);
}
}else{
long neighborCount = neighboringRouters.size();
for (long i = 0; i < neighborCount; i++){
if (neighboringRouters[i]->GetState() >= AnsaOspf6::Neighbor::ExchangeState){
delayedAcknowledgements[neighboringRouters[i]->GetAddress()].push_back(lsaHeader);
}
}
}
}
| void AnsaOspf6::Interface::AddNeighbor | ( | AnsaOspf6::Neighbor * | neighbor | ) |
Definition at line 206 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::HelloHandler::ProcessPacket().
{
neighboringRoutersByID[neighbor->GetNeighborID()] = neighbor;
neighboringRoutersByAddress[neighbor->GetAddress()] = neighbor;
neighbor->SetInterface(this);
neighboringRouters.push_back(neighbor);
}
| void AnsaOspf6::Interface::AgeTransmittedLSALists | ( | void | ) |
Definition at line 578 of file ansaOspfInterface6.cc.
{
long neighborCount = neighboringRouters.size();
for (long i = 0; i < neighborCount; i++){
neighboringRouters[i]->AgeTransmittedLSAList();
}
}
| void AnsaOspf6::Interface::ChangeState | ( | AnsaOspf6::InterfaceState * | newState, |
| AnsaOspf6::InterfaceState * | currentState | ||
| ) | [private] |
Definition at line 102 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::InterfaceState::ChangeState().
{
if (previousState != NULL) {
delete previousState;
}
state = newState;
previousState = currentState;
}
Definition at line 412 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::LinkStateRequestHandler::ProcessPacket(), and AnsaOspf6::LinkStateUpdateHandler::ProcessPacket().
{
LsaType6 lsaType = static_cast<LsaType6> (lsa->getHeader().getLsType());
OspfRouterLsa6* routerLSA = (lsaType == RouterLsaType) ? dynamic_cast<OspfRouterLsa6*> (lsa) : NULL;
OspfNetworkLsa6* networkLSA = (lsaType == NetworkLsaType) ? dynamic_cast<OspfNetworkLsa6*> (lsa) : NULL;
OspfInterAreaPrefixLsa6* interAreaPrefixLSA = (lsaType = InterAreaPrefixLsaType) ? dynamic_cast<OspfInterAreaPrefixLsa6*> (lsa) : NULL;
OspfInterAreaRouterLsa6* interAreaRouterLSA = (lsaType = InterAreaRouterLsaType) ? dynamic_cast<OspfInterAreaRouterLsa6*> (lsa) : NULL;
OspfAsExternalLsa6* asExternalLSA = (lsaType == AsExternalLsaType) ? dynamic_cast<OspfAsExternalLsa6*> (lsa) : NULL;
OspfLinkLsa6* linkLSA = (lsaType == LinkLsaType) ? dynamic_cast<OspfLinkLsa6*> (lsa) : NULL;
OspfIntraAreaPrefixLsa6* intraAreaPrefixLSA = (lsaType = IntraAreaPrefixLsaType) ? dynamic_cast<OspfIntraAreaPrefixLsa6*> (lsa) : NULL;
if ( ((lsaType == RouterLsaType) && (routerLSA != NULL))
|| ((lsaType == NetworkLsaType) && (networkLSA != NULL))
|| ((lsaType == InterAreaPrefixLsaType) && (interAreaPrefixLSA != NULL))
|| ((lsaType == InterAreaRouterLsaType) && (interAreaRouterLSA != NULL))
|| ((lsaType == AsExternalLsaType) && (asExternalLSA != NULL))
|| ((lsaType == LinkLsaType) && (linkLSA != NULL))
|| ((lsaType == IntraAreaPrefixLsaType) && (intraAreaPrefixLSA != NULL))){
OspfLinkStateUpdatePacket6* updatePacket = new OspfLinkStateUpdatePacket6;
updatePacket->setType(LinkStateUpdatePacket);
updatePacket->setRouterID(parentArea->GetRouter()->GetRouterID());
updatePacket->setAreaID(areaID);
updatePacket->setNumberOfLsas(1);
switch (lsaType){
case RouterLsaType: {
updatePacket->setRouterLsasArraySize(1);
updatePacket->setRouterLsas(0, *routerLSA);
unsigned short lsAge = updatePacket->getRouterLsas(0).getHeader().getLsAge();
if (lsAge < MAX_AGE - interfaceTransmissionDelay){
updatePacket->getRouterLsas(0).getHeader().setLsAge(lsAge + interfaceTransmissionDelay);
}else{
updatePacket->getRouterLsas(0).getHeader().setLsAge(MAX_AGE);
}}
break;
case NetworkLsaType: {
updatePacket->setNetworkLsasArraySize(1);
updatePacket->setNetworkLsas(0, *networkLSA);
unsigned short lsAge = updatePacket->getNetworkLsas(0).getHeader().getLsAge();
if (lsAge < MAX_AGE - interfaceTransmissionDelay){
updatePacket->getNetworkLsas(0).getHeader().setLsAge(lsAge + interfaceTransmissionDelay);
}else{
updatePacket->getNetworkLsas(0).getHeader().setLsAge(MAX_AGE);
}}
break;
case InterAreaPrefixLsaType: {
updatePacket->setInterAreaPrefixLsasArraySize(1);
updatePacket->setInterAreaPrefixLsas(0, *interAreaPrefixLSA);
unsigned short lsAge = updatePacket->getInterAreaPrefixLsas(0).getHeader().getLsAge();
if (lsAge < MAX_AGE - interfaceTransmissionDelay){
updatePacket->getInterAreaPrefixLsas(0).getHeader().setLsAge(lsAge + interfaceTransmissionDelay);
}else{
updatePacket->getInterAreaPrefixLsas(0).getHeader().setLsAge(MAX_AGE);
}}
break;
case InterAreaRouterLsaType: {
updatePacket->setInterAreaRouterLsasArraySize(1);
updatePacket->setInterAreaRouterLsas(0, *interAreaRouterLSA);
unsigned short lsAge = updatePacket->getInterAreaRouterLsas(0).getHeader().getLsAge();
if (lsAge < MAX_AGE - interfaceTransmissionDelay){
updatePacket->getInterAreaRouterLsas(0).getHeader().setLsAge(lsAge + interfaceTransmissionDelay);
}else{
updatePacket->getInterAreaRouterLsas(0).getHeader().setLsAge(MAX_AGE);
}}
break;
case AsExternalLsaType: {
updatePacket->setAsExternalLsasArraySize(1);
updatePacket->setAsExternalLsas(0, *asExternalLSA);
unsigned short lsAge = updatePacket->getAsExternalLsas(0).getHeader().getLsAge();
if (lsAge < MAX_AGE - interfaceTransmissionDelay){
updatePacket->getAsExternalLsas(0).getHeader().setLsAge(lsAge + interfaceTransmissionDelay);
}else{
updatePacket->getAsExternalLsas(0).getHeader().setLsAge(MAX_AGE);
}}
break;
case LinkLsaType: {
updatePacket->setLinkLsasArraySize(1);
updatePacket->setLinkLsas(0, *linkLSA);
unsigned short lsAge = updatePacket->getLinkLsas(0).getHeader().getLsAge();
if (lsAge < MAX_AGE - interfaceTransmissionDelay){
updatePacket->getLinkLsas(0).getHeader().setLsAge(lsAge + interfaceTransmissionDelay);
}else{
updatePacket->getLinkLsas(0).getHeader().setLsAge(MAX_AGE);
}}
break;
case IntraAreaPrefixLsaType: {
updatePacket->setIntraAreaPrefixLsasArraySize(1);
updatePacket->setIntraAreaPrefixLsas(0, *intraAreaPrefixLSA);
unsigned short lsAge = updatePacket->getIntraAreaPrefixLsas(0).getHeader().getLsAge();
if (lsAge < MAX_AGE - interfaceTransmissionDelay){
updatePacket->getIntraAreaPrefixLsas(0).getHeader().setLsAge(lsAge + interfaceTransmissionDelay);
}else{
updatePacket->getIntraAreaPrefixLsas(0).getHeader().setLsAge(MAX_AGE);
}}
break;
default:
break;
}
return updatePacket;
}
return NULL;
}
| bool AnsaOspf6::Interface::FloodLSA | ( | OspfLsa6 * | lsa, |
| AnsaOspf6::Interface * | intf = NULL, |
||
| AnsaOspf6::Neighbor * | neighbor = NULL |
||
| ) |
Definition at line 287 of file ansaOspfInterface6.cc.
{
bool floodedBackOut = false;
if ( ( (lsa->getHeader().getLsType() == AsExternalLsaType)
&& (interfaceType != AnsaOspf6::Interface::Virtual)
&& (parentArea->GetExternalRoutingCapability()))
|| ( (lsa->getHeader().getLsType() != AsExternalLsaType)
&& ( ( (areaID != AnsaOspf6::BackboneAreaID)
&& (interfaceType != AnsaOspf6::Interface::Virtual))
|| (areaID == AnsaOspf6::BackboneAreaID)))){
long neighborCount = neighboringRouters.size();
bool lsaAddedToRetransmissionList = false;
AnsaOspf6::LinkStateID linkStateID = lsa->getHeader().getLinkStateID();
AnsaOspf6::LsaKeyType6 lsaKey;
lsaKey.linkStateID = linkStateID;
lsaKey.advertisingRouter = lsa->getHeader().getAdvertisingRouter();
for (long i = 0; i < neighborCount; i++){ // (1)
if (neighboringRouters[i]->GetState() < AnsaOspf6::Neighbor::ExchangeState){ // (1) (a)
continue;
}
if (neighboringRouters[i]->GetState() < AnsaOspf6::Neighbor::FullState){ // (1) (b)
OspfLsaHeader6* requestLSAHeader = neighboringRouters[i]->FindOnRequestList(lsaKey);
if (requestLSAHeader != NULL){
// operator< and operator== on OSPFLSAHeaders determines which one is newer(less means older)
if (lsa->getHeader() < (*requestLSAHeader)){
continue;
}
if (operator==(lsa->getHeader(), (*requestLSAHeader))){
neighboringRouters[i]->RemoveFromRequestList(lsaKey);
continue;
}
neighboringRouters[i]->RemoveFromRequestList(lsaKey);
}
}
if (neighbor == neighboringRouters[i]){ // (1) (c)
continue;
}
neighboringRouters[i]->AddToRetransmissionList(lsa); // (1) (d)
lsaAddedToRetransmissionList = true;
}
if (lsaAddedToRetransmissionList){ // (2)
if ( (intf != this)
|| ( (neighbor != NULL)
&& (neighbor->GetNeighborID() != designatedRouter)
&& (neighbor->GetNeighborID() != backupDesignatedRouter))){ // (3)
if ((intf != this) || (GetState() != AnsaOspf6::Interface::BackupState)){ // (4)
OspfLinkStateUpdatePacket6* updatePacket = CreateUpdatePacket(lsa); // (5)
if (updatePacket != NULL){
int ttl = (interfaceType == AnsaOspf6::Interface::Virtual) ? VIRTUAL_LINK_TTL : 1;
AnsaOspf6::MessageHandler* messageHandler = parentArea->GetRouter()->GetMessageHandler();
if (interfaceType == AnsaOspf6::Interface::Broadcast){
if ( (GetState() == AnsaOspf6::Interface::DesignatedRouterState)
|| (GetState() == AnsaOspf6::Interface::BackupState)
|| (designatedRouter == AnsaOspf6::NullDesignatedRouterID)){
messageHandler->SendPacket(updatePacket, AnsaOspf6::AllSPFRouters, ifIndex, ttl);
for (long k = 0; k < neighborCount; k++){
neighboringRouters[k]->AddToTransmittedLSAList(lsaKey);
if (!neighboringRouters[k]->IsUpdateRetransmissionTimerActive()){
neighboringRouters[k]->StartUpdateRetransmissionTimer();
}
}
}else{
messageHandler->SendPacket(updatePacket, AnsaOspf6::AllDRouters, ifIndex, ttl);
AnsaOspf6::Neighbor* dRouter = GetNeighborByID(designatedRouter);
AnsaOspf6::Neighbor* backupDRouter = GetNeighborByID(backupDesignatedRouter);
if (dRouter != NULL){
dRouter->AddToTransmittedLSAList(lsaKey);
if (!dRouter->IsUpdateRetransmissionTimerActive()){
dRouter->StartUpdateRetransmissionTimer();
}
}
if (backupDRouter != NULL){
backupDRouter->AddToTransmittedLSAList(lsaKey);
if (!backupDRouter->IsUpdateRetransmissionTimerActive()){
backupDRouter->StartUpdateRetransmissionTimer();
}
}
}
}else{
if (interfaceType == AnsaOspf6::Interface::PointToPoint){
messageHandler->SendPacket(updatePacket, AnsaOspf6::AllSPFRouters, ifIndex, ttl);
if (neighborCount > 0){
neighboringRouters[0]->AddToTransmittedLSAList(lsaKey);
if (!neighboringRouters[0]->IsUpdateRetransmissionTimerActive()){
neighboringRouters[0]->StartUpdateRetransmissionTimer();
}
}
}else{
for (long m = 0; m < neighborCount; m++){
if (neighboringRouters[m]->GetState() >= AnsaOspf6::Neighbor::ExchangeState){
messageHandler->SendPacket(updatePacket, neighboringRouters[m]->GetAddress(), ifIndex, ttl);
neighboringRouters[m]->AddToTransmittedLSAList(lsaKey);
if (!neighboringRouters[m]->IsUpdateRetransmissionTimerActive()){
neighboringRouters[m]->StartUpdateRetransmissionTimer();
}
}
}
}
}
if (intf == this){
floodedBackOut = true;
}
}
}
}
}
}
return floodedBackOut;
}
| short AnsaOspf6::Interface::GetAcknowledgementDelay | ( | void | ) | const [inline] |
Definition at line 151 of file ansaOspfInterface6.h.
{ return acknowledgementDelay; }
| OspfTimer6* AnsaOspf6::Interface::GetAcknowledgementTimer | ( | void | ) | [inline] |
Definition at line 172 of file ansaOspfInterface6.h.
{ return acknowledgementTimer; }
| IPv6AddressPrefix AnsaOspf6::Interface::GetAddressPrefix | ( | unsigned int | index | ) | const [inline] |
Definition at line 165 of file ansaOspfInterface6.h.
Referenced by operator<<().
{ return interfaceAddressPrefixes[index]; }
| unsigned int AnsaOspf6::Interface::GetAddressPrefixCount | ( | void | ) | const [inline] |
Definition at line 164 of file ansaOspfInterface6.h.
Referenced by operator<<().
{ return interfaceAddressPrefixes.size(); }
| Area* AnsaOspf6::Interface::GetArea | ( | void | ) | [inline] |
Definition at line 180 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::LinkStateUpdateHandler::AcknowledgeLSA(), AnsaOspf6::DatabaseDescriptionHandler::ProcessDDPacket(), AnsaOspf6::NeighborStateInit::ProcessEvent(), AnsaOspf6::NeighborStateLoading::ProcessEvent(), AnsaOspf6::NeighborStateFull::ProcessEvent(), AnsaOspf6::NeighborStateTwoWay::ProcessEvent(), AnsaOspf6::NeighborStateAttempt::ProcessEvent(), AnsaOspf6::NeighborStateDown::ProcessEvent(), AnsaOspf6::NeighborStateExchange::ProcessEvent(), AnsaOspf6::NeighborStateExchangeStart::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateBackup::ProcessEvent(), AnsaOspf6::InterfaceStatePointToPoint::ProcessEvent(), AnsaOspf6::InterfaceStateDown::ProcessEvent(), AnsaOspf6::InterfaceStateWaiting::ProcessEvent(), AnsaOspf6::HelloHandler::ProcessPacket(), and AnsaOspf6::LinkStateRequestHandler::ProcessPacket().
{ return parentArea; }
| const Area* AnsaOspf6::Interface::GetArea | ( | void | ) | const [inline] |
Definition at line 181 of file ansaOspfInterface6.h.
{ return parentArea; }
| AreaID AnsaOspf6::Interface::GetAreaID | ( | void | ) | const [inline] |
Definition at line 141 of file ansaOspfInterface6.h.
{ return areaID; }
| DesignatedRouterID AnsaOspf6::Interface::GetBackupDesignatedRouter | ( | void | ) | const [inline] |
Definition at line 174 of file ansaOspfInterface6.h.
Referenced by operator<<().
{ return backupDesignatedRouter; }
| DesignatedRouterID AnsaOspf6::Interface::GetDesignatedRouter | ( | void | ) | const [inline] |
Definition at line 173 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::LinkStateUpdateHandler::AcknowledgeLSA(), operator<<(), AnsaOspf6::LinkStateRequestHandler::ProcessPacket(), and AnsaOspf6::LinkStateUpdateHandler::ProcessPacket().
{ return designatedRouter; }
| short AnsaOspf6::Interface::GetHelloInterval | ( | void | ) | const [inline] |
Definition at line 155 of file ansaOspfInterface6.h.
Referenced by operator<<(), AnsaOspf6::InterfaceStateDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateWaiting::ProcessEvent(), AnsaOspf6::InterfaceStatePointToPoint::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateBackup::ProcessEvent(), and AnsaOspf6::HelloHandler::ProcessPacket().
{ return helloInterval; }
| OspfTimer6* AnsaOspf6::Interface::GetHelloTimer | ( | void | ) | [inline] |
Definition at line 170 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::InterfaceStateBackup::ProcessEvent(), AnsaOspf6::InterfaceStateWaiting::ProcessEvent(), AnsaOspf6::InterfaceStatePointToPoint::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateDown::ProcessEvent(), and AnsaOspf6::InterfaceStateDesignatedRouter::ProcessEvent().
{ return helloTimer; }
| unsigned char AnsaOspf6::Interface::GetIfIndex | ( | void | ) | const [inline] |
Definition at line 133 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::LinkStateUpdateHandler::AcknowledgeLSA(), AnsaOspf6::MessageHandler::PrintEvent(), AnsaOspf6::LinkStateRequestHandler::ProcessPacket(), and AnsaOspf6::LinkStateUpdateHandler::ProcessPacket().
{ return ifIndex; }
| const char* AnsaOspf6::Interface::GetIfName | ( | void | ) | const [inline] |
Definition at line 135 of file ansaOspfInterface6.h.
Referenced by operator<<().
{ return ifName.c_str(); }
| InstanceID AnsaOspf6::Interface::GetInstanceID | ( | void | ) | const [inline] |
Definition at line 137 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::MessageHandler::ProcessPacket().
{ return instanceID; }
| IPv6Address AnsaOspf6::Interface::GetInterfaceAddress | ( | void | ) | const [inline] |
Definition at line 162 of file ansaOspfInterface6.h.
{ return interfaceAddress; }
| LinkLsa* AnsaOspf6::Interface::GetLinkLSA | ( | unsigned long | i | ) | [inline] |
Definition at line 167 of file ansaOspfInterface6.h.
| const LinkLsa* AnsaOspf6::Interface::GetLinkLSA | ( | unsigned long | i | ) | const [inline] |
Definition at line 168 of file ansaOspfInterface6.h.
| unsigned long AnsaOspf6::Interface::GetLinkLSACount | ( | void | ) | const [inline] |
Definition at line 166 of file ansaOspfInterface6.h.
{ return linkLSAs.size(); }
| unsigned short AnsaOspf6::Interface::GetMtu | ( | void | ) | const [inline] |
Definition at line 139 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::DatabaseDescriptionHandler::ProcessPacket().
{ return mtu; }
| Neighbor* AnsaOspf6::Interface::GetNeighbor | ( | unsigned long | i | ) | [inline] |
Definition at line 176 of file ansaOspfInterface6.h.
Referenced by operator<<(), AnsaOspf6::InterfaceStateBackup::ProcessEvent(), AnsaOspf6::InterfaceStateWaiting::ProcessEvent(), AnsaOspf6::InterfaceStatePointToPoint::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateDown::ProcessEvent(), AnsaOspf6::InterfaceStateDesignatedRouter::ProcessEvent(), and AnsaOspf6::HelloHandler::ProcessPacket().
{ return neighboringRouters[i]; }
| const Neighbor* AnsaOspf6::Interface::GetNeighbor | ( | unsigned long | i | ) | const [inline] |
Definition at line 177 of file ansaOspfInterface6.h.
{ return neighboringRouters[i]; }
Definition at line 197 of file ansaOspfInterface6.cc.
{
std::map<IPv6Address, AnsaOspf6::Neighbor*, AnsaOspf6::IPv6Address_Less>::iterator neighborIt = neighboringRoutersByAddress.find(address);
if (neighborIt != neighboringRoutersByAddress.end()){
return (neighborIt->second);
}else{
return NULL;
}
}
Definition at line 187 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::LinkStateUpdateHandler::AcknowledgeLSA(), AnsaOspf6::HelloHandler::ProcessPacket(), and AnsaOspf6::MessageHandler::ProcessPacket().
{
std::map<AnsaOspf6::RouterID, AnsaOspf6::Neighbor*>::iterator neighborIt =
neighboringRoutersByID.find(neighborID);
if (neighborIt != neighboringRoutersByID.end()){
return (neighborIt->second);
}else{
return NULL;
}
}
| unsigned long AnsaOspf6::Interface::GetNeighborCount | ( | void | ) | const [inline] |
Definition at line 175 of file ansaOspfInterface6.h.
Referenced by operator<<(), AnsaOspf6::InterfaceStateBackup::ProcessEvent(), AnsaOspf6::InterfaceStateWaiting::ProcessEvent(), AnsaOspf6::InterfaceStatePointToPoint::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateDown::ProcessEvent(), AnsaOspf6::InterfaceStateDesignatedRouter::ProcessEvent(), and AnsaOspf6::HelloHandler::ProcessPacket().
{ return neighboringRouters.size(); }
| Metric AnsaOspf6::Interface::GetOutputCost | ( | void | ) | const [inline] |
Definition at line 145 of file ansaOspfInterface6.h.
Referenced by operator<<().
{ return interfaceOutputCost; }
| short AnsaOspf6::Interface::GetPollInterval | ( | void | ) | const [inline] |
Definition at line 157 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::NeighborStateAttempt::ProcessEvent(), AnsaOspf6::NeighborStateTwoWay::ProcessEvent(), AnsaOspf6::NeighborStateLoading::ProcessEvent(), AnsaOspf6::NeighborStateInit::ProcessEvent(), AnsaOspf6::NeighborStateFull::ProcessEvent(), AnsaOspf6::NeighborStateExchangeStart::ProcessEvent(), AnsaOspf6::NeighborStateExchange::ProcessEvent(), and AnsaOspf6::NeighborStateDown::ProcessEvent().
{ return pollInterval; }
| short AnsaOspf6::Interface::GetRetransmissionInterval | ( | void | ) | const [inline] |
Definition at line 147 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::NeighborStateExchange::ProcessEvent(), AnsaOspf6::NeighborStateTwoWay::ProcessEvent(), AnsaOspf6::NeighborStateLoading::ProcessEvent(), AnsaOspf6::NeighborStateInit::ProcessEvent(), AnsaOspf6::NeighborStateFull::ProcessEvent(), and AnsaOspf6::NeighborStateExchangeStart::ProcessEvent().
{ return retransmissionInterval; }
| short AnsaOspf6::Interface::GetRouterDeadInterval | ( | void | ) | const [inline] |
Definition at line 159 of file ansaOspfInterface6.h.
Referenced by operator<<(), AnsaOspf6::InterfaceStateDown::ProcessEvent(), and AnsaOspf6::HelloHandler::ProcessPacket().
{ return routerDeadInterval; }
| unsigned char AnsaOspf6::Interface::GetRouterPriority | ( | void | ) | const [inline] |
Definition at line 153 of file ansaOspfInterface6.h.
Referenced by operator<<(), AnsaOspf6::InterfaceStateDown::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), and AnsaOspf6::HelloHandler::ProcessPacket().
{ return routerPriority; }
Definition at line 213 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::LinkStateUpdateHandler::AcknowledgeLSA(), AnsaOspf6::InterfaceState::CalculateDesignatedRouter(), operator<<(), AnsaOspf6::MessageHandler::PrintEvent(), AnsaOspf6::LinkStateRequestHandler::ProcessPacket(), AnsaOspf6::HelloHandler::ProcessPacket(), AnsaOspf6::LinkStateUpdateHandler::ProcessPacket(), and AnsaOspf6::MessageHandler::ProcessPacket().
| const char * AnsaOspf6::Interface::GetStateString | ( | InterfaceStateType | stateType | ) | [static] |
Definition at line 217 of file ansaOspfInterface6.cc.
Referenced by operator<<(), and AnsaOspf6::MessageHandler::PrintEvent().
{
switch (stateType){
case DownState:
return "Down";
case LoopbackState:
return "Loopback";
case WaitingState:
return "Waiting";
case PointToPointState:
return "PointToPoint";
case NotDesignatedRouterState:
return "NotDesignatedRouter";
case BackupState:
return "Backup";
case DesignatedRouterState:
return "DesignatedRouter";
default:
ASSERT(false);
}
return "";
}
| AreaID AnsaOspf6::Interface::GetTransitAreaID | ( | void | ) | const [inline] |
Definition at line 143 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::MessageHandler::ProcessPacket().
{ return transitAreaID; }
| short AnsaOspf6::Interface::GetTransmissionDelay | ( | void | ) | const [inline] |
Definition at line 149 of file ansaOspfInterface6.h.
{ return interfaceTransmissionDelay; }
| OspfInterfaceType AnsaOspf6::Interface::GetType | ( | void | ) | const [inline] |
Definition at line 131 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::LinkStateUpdateHandler::AcknowledgeLSA(), AnsaOspf6::InterfaceState::ChangeState(), operator<<(), AnsaOspf6::MessageHandler::PrintEvent(), AnsaOspf6::NeighborStateLoading::ProcessEvent(), AnsaOspf6::NeighborStateExchangeStart::ProcessEvent(), AnsaOspf6::NeighborStateFull::ProcessEvent(), AnsaOspf6::NeighborStateExchange::ProcessEvent(), AnsaOspf6::NeighborStateInit::ProcessEvent(), AnsaOspf6::NeighborStateTwoWay::ProcessEvent(), AnsaOspf6::NeighborStateAttempt::ProcessEvent(), AnsaOspf6::NeighborStateDown::ProcessEvent(), AnsaOspf6::InterfaceStateWaiting::ProcessEvent(), AnsaOspf6::InterfaceStateDown::ProcessEvent(), AnsaOspf6::InterfaceStateDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateBackup::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStatePointToPoint::ProcessEvent(), AnsaOspf6::HelloHandler::ProcessPacket(), AnsaOspf6::LinkStateRequestHandler::ProcessPacket(), and AnsaOspf6::LinkStateUpdateHandler::ProcessPacket().
{ return interfaceType; }
| const char * AnsaOspf6::Interface::GetTypeString | ( | OspfInterfaceType | type | ) | [static] |
Definition at line 239 of file ansaOspfInterface6.cc.
Referenced by operator<<().
{
switch (type){
case UnknownType:
return "Unknown";
case PointToPoint:
return "Point-to-Point";
case Broadcast:
return "Broadcast";
case NBMA:
return "NBMA";
case PointToMultiPoint:
return "Point-to-Multipoint";
case Virtual:
return "Virtual";
default:
ASSERT(false);
}
return "";
}
| OspfTimer6* AnsaOspf6::Interface::GetWaitTimer | ( | void | ) | [inline] |
Definition at line 171 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::InterfaceStateDown::ProcessEvent().
{ return waitTimer; }
| bool AnsaOspf6::Interface::HasAnyNeighborInStates | ( | int | states | ) | const |
Definition at line 259 of file ansaOspfInterface6.cc.
{
long neighborCount = neighboringRouters.size();
for (long i = 0; i < neighborCount; i++){
AnsaOspf6::Neighbor::NeighborStateType neighborState = neighboringRouters[i]->GetState();
if (neighborState & states){
return true;
}
}
return false;
}
| bool AnsaOspf6::Interface::IsGoingDown | ( | void | ) | [inline] |
Definition at line 183 of file ansaOspfInterface6.h.
{ return isGoingDown; }
| bool AnsaOspf6::Interface::IsOnAnyRetransmissionList | ( | AnsaOspf6::LsaKeyType6 | lsaKey | ) | const |
Definition at line 277 of file ansaOspfInterface6.cc.
{
long neighborCount = neighboringRouters.size();
for (long i = 0; i < neighborCount; i++){
if (neighboringRouters[i]->IsLSAOnRetransmissionList(lsaKey)){
return true;
}
}
return false;
}
| void AnsaOspf6::Interface::ProcessEvent | ( | InterfaceEventType | event | ) |
Definition at line 111 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::MessageHandler::HandleTimer(), AnsaOspfRouting6::initialize(), AnsaOspf6::HelloHandler::ProcessPacket(), and AnsaOspfRouting6::receiveChangeNotification().
{
state->ProcessEvent(this, event);
}
Definition at line 270 of file ansaOspfInterface6.cc.
{
long neighborCount = neighboringRouters.size();
for (long i = 0; i < neighborCount; i++){
neighboringRouters[i]->RemoveFromRetransmissionList(lsaKey);
}
}
| void AnsaOspf6::Interface::Reset | ( | void | ) |
Definition at line 116 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::InterfaceStateBackup::ProcessEvent(), AnsaOspf6::InterfaceStateWaiting::ProcessEvent(), AnsaOspf6::InterfaceStatePointToPoint::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateLoopback::ProcessEvent(), AnsaOspf6::InterfaceStateDown::ProcessEvent(), and AnsaOspf6::InterfaceStateDesignatedRouter::ProcessEvent().
{
MessageHandler* messageHandler = parentArea->GetRouter()->GetMessageHandler();
messageHandler->ClearTimer(helloTimer);
messageHandler->ClearTimer(waitTimer);
messageHandler->ClearTimer(acknowledgementTimer);
designatedRouter = NullDesignatedRouterID;
backupDesignatedRouter = NullDesignatedRouterID;
long neighborCount = neighboringRouters.size();
for (long i = 0; i < neighborCount; i++) {
neighboringRouters[i]->ProcessEvent(AnsaOspf6::Neighbor::KillNeighbor);
}
}
| void AnsaOspf6::Interface::SendDelayedAcknowledgements | ( | void | ) |
Definition at line 535 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::InterfaceStateBackup::ProcessEvent(), AnsaOspf6::InterfaceStateWaiting::ProcessEvent(), AnsaOspf6::InterfaceStatePointToPoint::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), and AnsaOspf6::InterfaceStateDesignatedRouter::ProcessEvent().
{
AnsaOspf6::MessageHandler* messageHandler = parentArea->GetRouter()->GetMessageHandler();
std::map<IPv6Address, std::list<OspfLsaHeader6>, AnsaOspf6::IPv6Address_Less>::iterator delayIt;
for (delayIt = delayedAcknowledgements.begin(); delayIt != delayedAcknowledgements.end(); delayIt++){
int ackCount = delayIt->second.size();
if (ackCount > 0){
while (!(delayIt->second.empty())){
OspfLinkStateAcknowledgementPacket6* ackPacket = new OspfLinkStateAcknowledgementPacket6;
ackPacket->setType(LinkStateAcknowledgementPacket);
ackPacket->setRouterID(parentArea->GetRouter()->GetRouterID());
ackPacket->setAreaID(areaID);
while (!(delayIt->second.empty())){
unsigned long headerCount = ackPacket->getLsaHeadersArraySize();
ackPacket->setLsaHeadersArraySize(headerCount + 1);
ackPacket->setLsaHeaders(headerCount, *(delayIt->second.begin()));
delayIt->second.pop_front();
}
int ttl = (interfaceType == AnsaOspf6::Interface::Virtual) ? VIRTUAL_LINK_TTL : 1;
if (interfaceType == AnsaOspf6::Interface::Broadcast){
if ( (GetState() == AnsaOspf6::Interface::DesignatedRouterState)
|| (GetState() == AnsaOspf6::Interface::BackupState)
|| (designatedRouter == AnsaOspf6::NullDesignatedRouterID)){
messageHandler->SendPacket(ackPacket, AnsaOspf6::AllSPFRouters, ifIndex, ttl);
}else{
messageHandler->SendPacket(ackPacket, AnsaOspf6::AllDRouters, ifIndex, ttl);
}
}else{
if (interfaceType == AnsaOspf6::Interface::PointToPoint){
messageHandler->SendPacket(ackPacket, AnsaOspf6::AllSPFRouters, ifIndex, ttl);
}else{
messageHandler->SendPacket(ackPacket, delayIt->first, ifIndex, ttl);
}
}
}
}
}
messageHandler->StartTimer(acknowledgementTimer, acknowledgementDelay);
}
| void AnsaOspf6::Interface::SendHelloPacket | ( | IPv6Address | destination, |
| short | ttl = 1 |
||
| ) |
Definition at line 132 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::NeighborStateDown::ProcessEvent(), AnsaOspf6::InterfaceStateDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateWaiting::ProcessEvent(), AnsaOspf6::InterfaceStatePointToPoint::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), AnsaOspf6::InterfaceStateBackup::ProcessEvent(), and AnsaOspf6::HelloHandler::ProcessPacket().
{
OspfOptions6 options;
OspfHelloPacket6* helloPacket = new OspfHelloPacket6;
std::vector<RouterID> neighbors;
helloPacket->setType(HelloPacket);
helloPacket->setRouterID(parentArea->GetRouter()->GetRouterID());
helloPacket->setAreaID(parentArea->GetAreaID());
helloPacket->setInterfaceID(ifIndex);
helloPacket->setInstanceID(instanceID);
helloPacket->setRtrPriority(routerPriority);
memset(&options, 0, sizeof(OspfOptions6));
options.E_ExternalRoutingCapability = parentArea->GetExternalRoutingCapability();
helloPacket->setOptions(options);
helloPacket->setHelloInterval(helloInterval);
helloPacket->setRouterDeadInterval(routerDeadInterval);
helloPacket->setDesignatedRouterID(designatedRouter);
helloPacket->setBackupDesignatedRouterID(backupDesignatedRouter);
long neighborCount = neighboringRouters.size();
for (long j = 0; j < neighborCount; j++) {
if (neighboringRouters[j]->GetState() >= AnsaOspf6::Neighbor::InitState) {
neighbors.push_back(neighboringRouters[j]->GetNeighborID());
}
}
unsigned int initedNeighborCount = neighbors.size();
helloPacket->setNeighborIDArraySize(initedNeighborCount);
for (unsigned int k = 0; k < initedNeighborCount; k++){
helloPacket->setNeighborID(k, neighbors[k]);
}
parentArea->GetRouter()->GetMessageHandler()->SendPacket(helloPacket, destination, ifIndex, ttl);
}
| void AnsaOspf6::Interface::SendLSAcknowledgement | ( | OspfLsaHeader6 * | lsaHeader, |
| IPv6Address | destination | ||
| ) |
Definition at line 171 of file ansaOspfInterface6.cc.
Referenced by AnsaOspf6::LinkStateUpdateHandler::ProcessPacket().
{
OspfOptions6 options;
OspfLinkStateAcknowledgementPacket6* lsAckPacket = new OspfLinkStateAcknowledgementPacket6;
lsAckPacket->setType(LinkStateAcknowledgementPacket);
lsAckPacket->setRouterID(parentArea->GetRouter()->GetRouterID());
lsAckPacket->setAreaID(parentArea->GetAreaID());
lsAckPacket->setInstanceID(instanceID);
lsAckPacket->setLsaHeadersArraySize(1);
lsAckPacket->setLsaHeaders(0, *lsaHeader);
int ttl = (interfaceType == AnsaOspf6::Interface::Virtual) ? VIRTUAL_LINK_TTL : 1;
parentArea->GetRouter()->GetMessageHandler()->SendPacket(lsAckPacket, destination, ifIndex, ttl);
}
| void AnsaOspf6::Interface::SetAcknowledgementDelay | ( | short | delay | ) | [inline] |
Definition at line 150 of file ansaOspfInterface6.h.
{ acknowledgementDelay = delay; }
| void AnsaOspf6::Interface::SetArea | ( | Area * | area | ) | [inline] |
Definition at line 179 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::Area::AddInterface().
{ parentArea = area; }
| void AnsaOspf6::Interface::SetAreaID | ( | AreaID | id | ) | [inline] |
Definition at line 140 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ areaID = id; }
| void AnsaOspf6::Interface::SetHelloInterval | ( | short | interval | ) | [inline] |
Definition at line 154 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ helloInterval = interval; }
| void AnsaOspf6::Interface::SetIfIndex | ( | IfaceID | id | ) |
Definition at line 92 of file ansaOspfInterface6.cc.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{
ifIndex = id;
if (interfaceType == AnsaOspf6::Interface::UnknownType) {
InterfaceEntry* routingInterface = InterfaceTableAccess().get()->getInterfaceById(ifIndex);
interfaceAddress = routingInterface->ipv6Data()->getLinkLocalAddress();
mtu = routingInterface->getMTU();
}
}
| void AnsaOspf6::Interface::SetIfName | ( | const char * | name | ) | [inline] |
Definition at line 134 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ ifName = name; };
| void AnsaOspf6::Interface::SetInstanceID | ( | InstanceID | id | ) | [inline] |
Definition at line 136 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ instanceID = id; }
| void AnsaOspf6::Interface::SetInterfaceAddress | ( | IPv6Address | addr | ) | [inline] |
Definition at line 161 of file ansaOspfInterface6.h.
{ interfaceAddress = addr; }
| void AnsaOspf6::Interface::SetIsGoingDown | ( | bool | b | ) | [inline] |
Definition at line 184 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::InterfaceStateBackup::ProcessEvent(), AnsaOspf6::InterfaceStateWaiting::ProcessEvent(), AnsaOspf6::InterfaceStatePointToPoint::ProcessEvent(), AnsaOspf6::InterfaceStateNotDesignatedRouter::ProcessEvent(), and AnsaOspf6::InterfaceStateDesignatedRouter::ProcessEvent().
{ isGoingDown = b; }
| void AnsaOspf6::Interface::SetMtu | ( | unsigned short | ifMTU | ) | [inline] |
Definition at line 138 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ mtu = ifMTU; }
| void AnsaOspf6::Interface::SetOutputCost | ( | Metric | cost | ) | [inline] |
Definition at line 144 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ interfaceOutputCost = cost; }
| void AnsaOspf6::Interface::SetPollInterval | ( | short | interval | ) | [inline] |
Definition at line 156 of file ansaOspfInterface6.h.
{ pollInterval = interval; }
| void AnsaOspf6::Interface::SetRetransmissionInterval | ( | short | interval | ) | [inline] |
Definition at line 146 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ retransmissionInterval = interval; }
| void AnsaOspf6::Interface::SetRouterDeadInterval | ( | short | interval | ) | [inline] |
Definition at line 158 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ routerDeadInterval = interval; }
| void AnsaOspf6::Interface::SetRouterPriority | ( | unsigned char | priority | ) | [inline] |
Definition at line 152 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ routerPriority = priority; }
| void AnsaOspf6::Interface::SetTransitAreaID | ( | AreaID | id | ) | [inline] |
Definition at line 142 of file ansaOspfInterface6.h.
{ transitAreaID = id; }
| void AnsaOspf6::Interface::SetTransmissionDelay | ( | short | delay | ) | [inline] |
Definition at line 148 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ interfaceTransmissionDelay = delay; }
| void AnsaOspf6::Interface::SetType | ( | OspfInterfaceType | ifType | ) | [inline] |
Definition at line 130 of file ansaOspfInterface6.h.
Referenced by AnsaOspfRouting6::loadInterfaceConfig().
{ interfaceType = ifType; }
friend class InterfaceState [friend] |
Definition at line 103 of file ansaOspfInterface6.h.
short AnsaOspf6::Interface::acknowledgementDelay [private] |
Definition at line 96 of file ansaOspfInterface6.h.
Referenced by GetAcknowledgementDelay(), and SetAcknowledgementDelay().
Definition at line 87 of file ansaOspfInterface6.h.
Referenced by GetAcknowledgementTimer().
std::map<IPv6AddressPrefix, bool, IPv6AddressPrefix_Less> AnsaOspf6::Interface::advertiseAddressPrefixes [private] |
Definition at line 74 of file ansaOspfInterface6.h.
Referenced by AddAddressPrefix().
AreaID AnsaOspf6::Interface::areaID [private] |
Definition at line 78 of file ansaOspfInterface6.h.
Referenced by GetAreaID(), and SetAreaID().
Definition at line 93 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::InterfaceState::CalculateDesignatedRouter(), and GetBackupDesignatedRouter().
std::map<IPv6Address, std::list<OspfLsaHeader6>, IPv6Address_Less> AnsaOspf6::Interface::delayedAcknowledgements [private] |
Definition at line 91 of file ansaOspfInterface6.h.
Definition at line 92 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::InterfaceState::CalculateDesignatedRouter(), and GetDesignatedRouter().
short AnsaOspf6::Interface::helloInterval [private] |
Definition at line 80 of file ansaOspfInterface6.h.
Referenced by GetHelloInterval(), and SetHelloInterval().
OspfTimer6* AnsaOspf6::Interface::helloTimer [private] |
Definition at line 85 of file ansaOspfInterface6.h.
Referenced by GetHelloTimer(), and Interface().
IfaceID AnsaOspf6::Interface::ifIndex [private] |
Definition at line 69 of file ansaOspfInterface6.h.
Referenced by GetIfIndex().
std::string AnsaOspf6::Interface::ifName [private] |
Definition at line 70 of file ansaOspfInterface6.h.
Referenced by GetIfName(), and SetIfName().
InstanceID AnsaOspf6::Interface::instanceID [private] |
Definition at line 71 of file ansaOspfInterface6.h.
Referenced by GetInstanceID(), and SetInstanceID().
Definition at line 73 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::InterfaceState::ChangeState(), GetInterfaceAddress(), and SetInterfaceAddress().
std::vector<IPv6AddressPrefix> AnsaOspf6::Interface::interfaceAddressPrefixes [private] |
Definition at line 75 of file ansaOspfInterface6.h.
Referenced by AddAddressPrefix(), GetAddressPrefix(), and GetAddressPrefixCount().
Definition at line 94 of file ansaOspfInterface6.h.
Referenced by GetOutputCost(), and SetOutputCost().
short AnsaOspf6::Interface::interfaceTransmissionDelay [private] |
Definition at line 83 of file ansaOspfInterface6.h.
Referenced by GetTransmissionDelay(), and SetTransmissionDelay().
Definition at line 66 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::InterfaceState::CalculateDesignatedRouter(), GetType(), and SetType().
bool AnsaOspf6::Interface::isGoingDown [private] |
Definition at line 100 of file ansaOspfInterface6.h.
Referenced by IsGoingDown(), and SetIsGoingDown().
std::vector<LinkLsa*> AnsaOspf6::Interface::linkLSAs [private] |
Definition at line 77 of file ansaOspfInterface6.h.
Referenced by GetLinkLSA(), and GetLinkLSACount().
std::map<LinkStateID, LinkLsa*> AnsaOspf6::Interface::linkLSAsByID [private] |
Definition at line 76 of file ansaOspfInterface6.h.
unsigned short AnsaOspf6::Interface::mtu [private] |
Definition at line 72 of file ansaOspfInterface6.h.
std::vector<Neighbor*> AnsaOspf6::Interface::neighboringRouters [private] |
Definition at line 90 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::InterfaceState::CalculateDesignatedRouter(), GetNeighbor(), and GetNeighborCount().
std::map<IPv6Address, Neighbor*, IPv6Address_Less> AnsaOspf6::Interface::neighboringRoutersByAddress [private] |
Definition at line 89 of file ansaOspfInterface6.h.
std::map<RouterID, Neighbor*> AnsaOspf6::Interface::neighboringRoutersByID [private] |
Definition at line 88 of file ansaOspfInterface6.h.
Area* AnsaOspf6::Interface::parentArea [private] |
Definition at line 98 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::InterfaceState::CalculateDesignatedRouter(), GetArea(), and SetArea().
short AnsaOspf6::Interface::pollInterval [private] |
Definition at line 81 of file ansaOspfInterface6.h.
Referenced by GetPollInterval(), and SetPollInterval().
Definition at line 68 of file ansaOspfInterface6.h.
Referenced by Interface().
short AnsaOspf6::Interface::retransmissionInterval [private] |
Definition at line 95 of file ansaOspfInterface6.h.
Referenced by GetRetransmissionInterval(), and SetRetransmissionInterval().
short AnsaOspf6::Interface::routerDeadInterval [private] |
Definition at line 82 of file ansaOspfInterface6.h.
Referenced by GetRouterDeadInterval(), and SetRouterDeadInterval().
unsigned char AnsaOspf6::Interface::routerPriority [private] |
Definition at line 84 of file ansaOspfInterface6.h.
Referenced by AnsaOspf6::InterfaceState::CalculateDesignatedRouter(), GetRouterPriority(), and SetRouterPriority().
InterfaceState* AnsaOspf6::Interface::state [private] |
Definition at line 67 of file ansaOspfInterface6.h.
Referenced by Interface().
AreaID AnsaOspf6::Interface::transitAreaID [private] |
Definition at line 79 of file ansaOspfInterface6.h.
Referenced by GetTransitAreaID(), and SetTransitAreaID().
OspfTimer6* AnsaOspf6::Interface::waitTimer [private] |
Definition at line 86 of file ansaOspfInterface6.h.
Referenced by GetWaitTimer(), and Interface().