INET Framework for OMNeT++/OMNEST
|
#include <OSPFInterface.h>
Public Types | |
enum | InterfaceEventType { INTERFACE_UP = 0, HELLO_TIMER = 1, WAIT_TIMER = 2, ACKNOWLEDGEMENT_TIMER = 3, BACKUP_SEEN = 4, NEIGHBOR_CHANGE = 5, LOOP_INDICATION = 6, UNLOOP_INDICATION = 7, INTERFACE_DOWN = 8 } |
enum | OSPFInterfaceType { UNKNOWN_TYPE = 0, POINTTOPOINT = 1, BROADCAST = 2, NBMA = 3, POINTTOMULTIPOINT = 4, VIRTUAL = 5 } |
enum | InterfaceStateType { DOWN_STATE = 0, LOOPBACK_STATE = 1, WAITING_STATE = 2, POINTTOPOINT_STATE = 3, NOT_DESIGNATED_ROUTER_STATE = 4, BACKUP_STATE = 5, DESIGNATED_ROUTER_STATE = 6 } |
Static Public Member Functions | |
static const char * | getStateString (InterfaceStateType stateType) |
Private Member Functions | |
void | changeState (InterfaceState *newState, InterfaceState *currentState) |
Private Attributes | |
OSPFInterfaceType | interfaceType |
InterfaceState * | state |
InterfaceState * | previousState |
int | ifIndex |
unsigned short | mtu |
IPv4AddressRange | interfaceAddressRange |
AreaID | areaID |
AreaID | transitAreaID |
short | helloInterval |
short | pollInterval |
short | routerDeadInterval |
short | interfaceTransmissionDelay |
unsigned char | routerPriority |
cMessage * | helloTimer |
cMessage * | waitTimer |
cMessage * | acknowledgementTimer |
std::map< RouterID, Neighbor * > | neighboringRoutersByID |
std::map< IPv4Address, Neighbor * > | neighboringRoutersByAddress |
std::vector< Neighbor * > | neighboringRouters |
std::map< IPv4Address, std::list< OSPFLSAHeader > > | delayedAcknowledgements |
DesignatedRouterID | designatedRouter |
DesignatedRouterID | backupDesignatedRouter |
Metric | interfaceOutputCost |
short | retransmissionInterval |
short | acknowledgementDelay |
AuthenticationType | authenticationType |
AuthenticationKeyType | authenticationKey |
Area * | parentArea |
Friends | |
class | InterfaceState |
Enumerator | |
---|---|
INTERFACE_UP | |
HELLO_TIMER | |
WAIT_TIMER | |
ACKNOWLEDGEMENT_TIMER | |
BACKUP_SEEN | |
NEIGHBOR_CHANGE | |
LOOP_INDICATION | |
UNLOOP_INDICATION | |
INTERFACE_DOWN |
Enumerator | |
---|---|
DOWN_STATE | |
LOOPBACK_STATE | |
WAITING_STATE | |
POINTTOPOINT_STATE | |
NOT_DESIGNATED_ROUTER_STATE | |
BACKUP_STATE | |
DESIGNATED_ROUTER_STATE |
inet::ospf::Interface::Interface | ( | Interface::OSPFInterfaceType | ifType = UNKNOWN_TYPE | ) |
|
virtual |
void inet::ospf::Interface::addDelayedAcknowledgement | ( | OSPFLSAHeader & | lsaHeader | ) |
Referenced by inet::ospf::LinkStateUpdateHandler::acknowledgeLSA().
void inet::ospf::Interface::addNeighbor | ( | Neighbor * | neighbor | ) |
Referenced by inet::ospf::OSPFConfigReader::loadInterfaceParameters(), inet::ospf::OSPFConfigReader::loadVirtualLink(), and inet::ospf::HelloHandler::processPacket().
void inet::ospf::Interface::ageTransmittedLSALists | ( | ) |
|
private |
Referenced by inet::ospf::InterfaceState::changeState().
OSPFLinkStateUpdatePacket * inet::ospf::Interface::createUpdatePacket | ( | OSPFLSA * | lsa | ) |
Referenced by floodLSA(), inet::ospf::LinkStateRequestHandler::processPacket(), and inet::ospf::LinkStateUpdateHandler::processPacket().
bool inet::ospf::Interface::floodLSA | ( | OSPFLSA * | lsa, |
Interface * | intf = nullptr , |
||
Neighbor * | neighbor = nullptr |
||
) |
|
inline |
Referenced by inet::ospf::InterfaceStateDown::processEvent().
|
inline |
Referenced by inet::ospf::InterfaceStateDown::processEvent().
|
inline |
Referenced by inet::ospf::InterfaceState::changeState(), inet::ospf::NeighborState::changeState(), inet::ospf::Area::originateNetworkLSA(), inet::ospf::Area::originateRouterLSA(), and inet::ospf::HelloHandler::processPacket().
|
inline |
Referenced by inet::ospf::LinkStateUpdateHandler::acknowledgeLSA(), inet::ospf::InterfaceState::changeState(), inet::ospf::NeighborState::changeState(), inet::ospf::Neighbor::clearRequestRetransmissionTimer(), inet::ospf::Neighbor::clearUpdateRetransmissionTimer(), inet::ospf::Neighbor::createDatabaseSummary(), inet::ospf::Neighbor::needAdjacency(), inet::ospf::DatabaseDescriptionHandler::processDDPacket(), inet::ospf::InterfaceStateDown::processEvent(), inet::ospf::NeighborStateTwoWay::processEvent(), inet::ospf::NeighborStateFull::processEvent(), inet::ospf::InterfaceStateNotDesignatedRouter::processEvent(), inet::ospf::NeighborStateExchange::processEvent(), inet::ospf::InterfaceStatePointToPoint::processEvent(), inet::ospf::InterfaceStateWaiting::processEvent(), inet::ospf::NeighborStateLoading::processEvent(), inet::ospf::InterfaceStateBackup::processEvent(), inet::ospf::NeighborStateAttempt::processEvent(), inet::ospf::NeighborStateInit::processEvent(), inet::ospf::NeighborStateExchangeStart::processEvent(), inet::ospf::NeighborStateDown::processEvent(), inet::ospf::InterfaceStateDesignatedRouter::processEvent(), inet::ospf::LinkStateRequestHandler::processPacket(), inet::ospf::HelloHandler::processPacket(), inet::ospf::Neighbor::reset(), inet::ospf::Neighbor::retransmitDatabaseDescriptionPacket(), inet::ospf::Neighbor::retransmitUpdatePacket(), inet::ospf::Neighbor::sendDatabaseDescriptionPacket(), inet::ospf::Neighbor::sendLinkStateRequestPacket(), inet::ospf::Neighbor::startRequestRetransmissionTimer(), inet::ospf::Neighbor::startUpdateRetransmissionTimer(), and inet::ospf::Neighbor::~Neighbor().
|
inline |
|
inline |
|
inline |
Referenced by inet::ospf::LinkStateUpdateHandler::acknowledgeLSA(), inet::ospf::Neighbor::retransmitUpdatePacket(), inet::ospf::Neighbor::sendDatabaseDescriptionPacket(), and inet::ospf::Neighbor::sendLinkStateRequestPacket().
|
inline |
Referenced by inet::ospf::LinkStateUpdateHandler::acknowledgeLSA(), inet::ospf::Neighbor::retransmitUpdatePacket(), inet::ospf::Neighbor::sendDatabaseDescriptionPacket(), and inet::ospf::Neighbor::sendLinkStateRequestPacket().
|
inline |
Referenced by inet::ospf::Neighbor::needAdjacency(), and inet::ospf::InterfaceStateNotDesignatedRouter::processEvent().
|
inline |
Referenced by inet::ospf::LinkStateUpdateHandler::acknowledgeLSA(), inet::ospf::Neighbor::needAdjacency(), inet::ospf::Area::originateRouterLSA(), inet::ospf::InterfaceStateNotDesignatedRouter::processEvent(), inet::ospf::LinkStateRequestHandler::processPacket(), and inet::ospf::LinkStateUpdateHandler::processPacket().
|
inline |
Referenced by inet::ospf::InterfaceStateBackup::processEvent(), inet::ospf::InterfaceStateWaiting::processEvent(), inet::ospf::InterfaceStatePointToPoint::processEvent(), inet::ospf::InterfaceStateNotDesignatedRouter::processEvent(), inet::ospf::InterfaceStateDesignatedRouter::processEvent(), and inet::ospf::HelloHandler::processPacket().
|
inline |
Referenced by inet::ospf::InterfaceStateBackup::processEvent(), inet::ospf::InterfaceStateWaiting::processEvent(), inet::ospf::InterfaceStatePointToPoint::processEvent(), inet::ospf::InterfaceStateNotDesignatedRouter::processEvent(), inet::ospf::InterfaceStateDown::processEvent(), and inet::ospf::InterfaceStateDesignatedRouter::processEvent().
|
inline |
Referenced by inet::ospf::LinkStateUpdateHandler::acknowledgeLSA(), inet::ospf::Area::originateRouterLSA(), inet::ospf::MessageHandler::printEvent(), inet::ospf::LinkStateRequestHandler::processPacket(), inet::ospf::LinkStateUpdateHandler::processPacket(), inet::ospf::Neighbor::retransmitDatabaseDescriptionPacket(), inet::ospf::Neighbor::retransmitUpdatePacket(), inet::ospf::Neighbor::sendDatabaseDescriptionPacket(), and inet::ospf::Neighbor::sendLinkStateRequestPacket().
|
inline |
|
inline |
Referenced by inet::ospf::Area::calculateShortestPathTree(), inet::ospf::Area::originateNetworkLSA(), inet::ospf::Area::originateRouterLSA(), inet::ospf::InterfaceStateWaiting::processEvent(), inet::ospf::InterfaceStateDown::processEvent(), inet::ospf::InterfaceStateDesignatedRouter::processEvent(), inet::ospf::InterfaceStateBackup::processEvent(), inet::ospf::InterfaceStateNotDesignatedRouter::processEvent(), inet::ospf::InterfaceStatePointToPoint::processEvent(), and inet::ospf::HelloHandler::processPacket().
|
inline |
Neighbor * inet::ospf::Interface::getNeighborByAddress | ( | IPv4Address | address | ) |
Referenced by inet::ospf::Area::originateRouterLSA(), inet::ospf::HelloHandler::processPacket(), and inet::ospf::MessageHandler::processPacket().
Referenced by inet::ospf::LinkStateUpdateHandler::acknowledgeLSA(), floodLSA(), inet::ospf::HelloHandler::processPacket(), and inet::ospf::MessageHandler::processPacket().
|
inline |
Referenced by inet::ospf::Area::ageDatabase(), inet::ospf::Area::originateNetworkLSA(), inet::ospf::Area::originateRouterLSA(), inet::ospf::InterfaceStateWaiting::processEvent(), inet::ospf::InterfaceStateDown::processEvent(), inet::ospf::InterfaceStateDesignatedRouter::processEvent(), inet::ospf::InterfaceStateBackup::processEvent(), inet::ospf::InterfaceStateNotDesignatedRouter::processEvent(), inet::ospf::InterfaceStatePointToPoint::processEvent(), and inet::ospf::HelloHandler::processPacket().
|
inline |
Referenced by inet::ospf::Area::originateRouterLSA().
|
inline |
Referenced by inet::ospf::NeighborStateAttempt::processEvent(), inet::ospf::NeighborStateTwoWay::processEvent(), inet::ospf::NeighborStateLoading::processEvent(), inet::ospf::NeighborStateInit::processEvent(), inet::ospf::NeighborStateFull::processEvent(), inet::ospf::NeighborStateExchangeStart::processEvent(), inet::ospf::NeighborStateExchange::processEvent(), and inet::ospf::NeighborStateDown::processEvent().
|
inline |
Referenced by inet::ospf::NeighborStateExchange::processEvent(), inet::ospf::NeighborStateExchangeStart::processEvent(), inet::ospf::NeighborStateLoading::processEvent(), inet::ospf::NeighborStateTwoWay::processEvent(), inet::ospf::NeighborStateFull::processEvent(), inet::ospf::NeighborStateInit::processEvent(), inet::ospf::Neighbor::startRequestRetransmissionTimer(), and inet::ospf::Neighbor::startUpdateRetransmissionTimer().
|
inline |
|
inline |
Interface::InterfaceStateType inet::ospf::Interface::getState | ( | ) | const |
Referenced by inet::ospf::LinkStateUpdateHandler::acknowledgeLSA(), addDelayedAcknowledgement(), inet::ospf::Area::ageDatabase(), inet::ospf::InterfaceState::calculateDesignatedRouter(), inet::ospf::Area::calculateShortestPathTree(), inet::ospf::NeighborState::changeState(), floodLSA(), inet::ospf::Area::originateRouterLSA(), inet::ospf::MessageHandler::printEvent(), inet::ospf::HelloHandler::processPacket(), inet::ospf::LinkStateRequestHandler::processPacket(), inet::ospf::LinkStateUpdateHandler::processPacket(), inet::ospf::MessageHandler::processPacket(), sendDelayedAcknowledgements(), and sendHelloPacket().
|
static |
Referenced by inet::ospf::MessageHandler::printEvent().
|
inline |
|
inline |
Referenced by inet::ospf::Neighbor::retransmitUpdatePacket().
|
inline |
Referenced by inet::ospf::LinkStateUpdateHandler::acknowledgeLSA(), inet::ospf::InterfaceState::changeState(), inet::ospf::Neighbor::createDatabaseSummary(), inet::ospf::Neighbor::needAdjacency(), inet::ospf::Area::originateRouterLSA(), inet::ospf::MessageHandler::printEvent(), inet::ospf::NeighborStateExchange::processEvent(), inet::ospf::NeighborStateDown::processEvent(), inet::ospf::NeighborStateInit::processEvent(), inet::ospf::NeighborStateLoading::processEvent(), inet::ospf::InterfaceStateBackup::processEvent(), inet::ospf::NeighborStateTwoWay::processEvent(), inet::ospf::InterfaceStateDesignatedRouter::processEvent(), inet::ospf::NeighborStateAttempt::processEvent(), inet::ospf::InterfaceStateDown::processEvent(), inet::ospf::InterfaceStateWaiting::processEvent(), inet::ospf::InterfaceStatePointToPoint::processEvent(), inet::ospf::InterfaceStateNotDesignatedRouter::processEvent(), inet::ospf::NeighborStateExchangeStart::processEvent(), inet::ospf::NeighborStateFull::processEvent(), inet::ospf::LinkStateRequestHandler::processPacket(), inet::ospf::HelloHandler::processPacket(), inet::ospf::LinkStateUpdateHandler::processPacket(), inet::ospf::MessageHandler::processPacket(), inet::ospf::Neighbor::retransmitDatabaseDescriptionPacket(), inet::ospf::Neighbor::retransmitUpdatePacket(), inet::ospf::Neighbor::sendDatabaseDescriptionPacket(), and inet::ospf::Neighbor::sendLinkStateRequestPacket().
|
inline |
Referenced by inet::ospf::InterfaceStateDown::processEvent().
bool inet::ospf::Interface::hasAnyNeighborInStates | ( | int | states | ) | const |
Referenced by inet::ospf::Area::ageDatabase(), inet::ospf::Area::originateNetworkLSA(), and inet::ospf::Area::originateRouterLSA().
bool inet::ospf::Interface::isOnAnyRetransmissionList | ( | LSAKeyType | lsaKey | ) | const |
void inet::ospf::Interface::processEvent | ( | Interface::InterfaceEventType | event | ) |
Referenced by inet::ospf::Area::calculateShortestPathTree(), inet::ospf::MessageHandler::handleTimer(), inet::ospf::OSPFConfigReader::loadInterfaceParameters(), and inet::ospf::HelloHandler::processPacket().
void inet::ospf::Interface::removeFromAllRetransmissionLists | ( | LSAKeyType | lsaKey | ) |
void inet::ospf::Interface::reset | ( | ) |
Referenced by inet::ospf::InterfaceStateBackup::processEvent(), inet::ospf::InterfaceStateWaiting::processEvent(), inet::ospf::InterfaceStatePointToPoint::processEvent(), inet::ospf::InterfaceStateNotDesignatedRouter::processEvent(), inet::ospf::InterfaceStateLoopback::processEvent(), inet::ospf::InterfaceStateDown::processEvent(), and inet::ospf::InterfaceStateDesignatedRouter::processEvent().
void inet::ospf::Interface::sendDelayedAcknowledgements | ( | ) |
Referenced by inet::ospf::InterfaceStateBackup::processEvent(), inet::ospf::InterfaceStateWaiting::processEvent(), inet::ospf::InterfaceStatePointToPoint::processEvent(), inet::ospf::InterfaceStateNotDesignatedRouter::processEvent(), and inet::ospf::InterfaceStateDesignatedRouter::processEvent().
void inet::ospf::Interface::sendHelloPacket | ( | IPv4Address | destination, |
short | ttl = 1 |
||
) |
Referenced by inet::ospf::InterfaceStateBackup::processEvent(), inet::ospf::NeighborStateDown::processEvent(), inet::ospf::InterfaceStateWaiting::processEvent(), inet::ospf::InterfaceStatePointToPoint::processEvent(), inet::ospf::InterfaceStateNotDesignatedRouter::processEvent(), inet::ospf::InterfaceStateDesignatedRouter::processEvent(), and inet::ospf::HelloHandler::processPacket().
void inet::ospf::Interface::sendLSAcknowledgement | ( | OSPFLSAHeader * | lsaHeader, |
IPv4Address | destination | ||
) |
Referenced by inet::ospf::LinkStateUpdateHandler::processPacket().
|
inline |
|
inline |
Referenced by inet::ospf::Area::calculateShortestPathTree().
|
inline |
Referenced by inet::ospf::Area::addInterface().
|
inline |
Referenced by inet::ospf::OSPFConfigReader::loadInterfaceParameters().
|
inline |
Referenced by inet::ospf::OSPFConfigReader::loadAuthenticationConfig().
|
inline |
Referenced by inet::ospf::OSPFConfigReader::loadAuthenticationConfig().
|
inline |
void inet::ospf::Interface::setIfIndex | ( | IInterfaceTable * | ift, |
int | index | ||
) |
Referenced by inet::ospf::Area::calculateShortestPathTree(), and inet::ospf::OSPFConfigReader::loadInterfaceParameters().
|
inline |
|
inline |
|
inline |
Referenced by inet::ospf::OSPFConfigReader::loadInterfaceParameters().
|
inline |
Referenced by inet::ospf::OSPFConfigReader::loadInterfaceParameters(), and inet::ospf::OSPFConfigReader::loadVirtualLink().
|
inline |
|
inline |
Referenced by inet::ospf::OSPFConfigReader::loadInterfaceParameters().
|
inline |
Referenced by inet::ospf::OSPFConfigReader::loadVirtualLink().
|
inline |
Referenced by inet::ospf::OSPFConfigReader::loadInterfaceParameters(), and inet::ospf::OSPFConfigReader::loadVirtualLink().
|
inline |
|
friend |
|
private |
Referenced by sendDelayedAcknowledgements().
|
private |
Referenced by Interface(), reset(), sendDelayedAcknowledgements(), and ~Interface().
|
private |
Referenced by createUpdatePacket(), floodLSA(), and sendDelayedAcknowledgements().
|
private |
Referenced by createUpdatePacket(), Interface(), sendDelayedAcknowledgements(), sendHelloPacket(), and sendLSAcknowledgement().
|
private |
Referenced by createUpdatePacket(), sendDelayedAcknowledgements(), sendHelloPacket(), and sendLSAcknowledgement().
|
private |
Referenced by inet::ospf::InterfaceState::calculateDesignatedRouter(), floodLSA(), reset(), and sendHelloPacket().
|
private |
Referenced by addDelayedAcknowledgement(), and sendDelayedAcknowledgements().
|
private |
|
private |
Referenced by sendHelloPacket().
|
private |
Referenced by Interface(), reset(), and ~Interface().
|
private |
Referenced by floodLSA(), sendDelayedAcknowledgements(), sendHelloPacket(), sendLSAcknowledgement(), and setIfIndex().
|
private |
Referenced by inet::ospf::InterfaceState::calculateDesignatedRouter(), sendHelloPacket(), and setIfIndex().
|
private |
|
private |
Referenced by createUpdatePacket().
|
private |
|
private |
Referenced by sendDelayedAcknowledgements(), and setIfIndex().
|
private |
|
private |
Referenced by addNeighbor(), and getNeighborByAddress().
Referenced by addNeighbor(), and getNeighborByID().
|
private |
|
private |
|
private |
Referenced by changeState(), Interface(), and ~Interface().
|
private |
|
private |
Referenced by sendHelloPacket().
|
private |
Referenced by inet::ospf::InterfaceState::calculateDesignatedRouter(), and sendHelloPacket().
|
private |
Referenced by changeState(), getState(), Interface(), processEvent(), and ~Interface().
|
private |
|
private |
Referenced by Interface(), reset(), and ~Interface().