INET Framework for OMNeT++/OMNEST
|
Base class of PIMSM and PIMDM modules. More...
#include <PIMBase.h>
Classes | |
struct | AssertMetric |
struct | Interface |
struct | RouteEntry |
struct | SourceAndGroup |
Public Member Functions | |
PIMBase (PIMInterface::PIMMode mode) | |
virtual | ~PIMBase () |
Public Member Functions inherited from inet::OperationalBase | |
OperationalBase () | |
Public Member Functions inherited from inet::ILifecycle | |
virtual | ~ILifecycle () |
Protected Types | |
enum | PIMTimerKind { HelloTimer = 1, TriggeredHelloDelay, AssertTimer, PruneTimer, PrunePendingTimer, GraftRetryTimer, UpstreamOverrideTimer, PruneLimitTimer, SourceActiveTimer, StateRefreshTimer, KeepAliveTimer, RegisterStopTimer, ExpiryTimer, JoinTimer } |
Protected Member Functions | |
virtual int | numInitStages () const override |
virtual void | initialize (int stage) override |
void | sendHelloPackets () |
void | sendHelloPacket (PIMInterface *pimInterface) |
void | processHelloTimer (cMessage *timer) |
void | processHelloPacket (PIMHello *pkt) |
virtual bool | isInitializeStage (int stage) override |
virtual bool | isNodeStartStage (int stage) override |
virtual bool | isNodeShutdownStage (int stage) override |
virtual bool | handleNodeStart (IDoneCallback *doneCallback) override |
virtual bool | handleNodeShutdown (IDoneCallback *doneCallback) override |
virtual void | handleNodeCrash () override |
Protected Member Functions inherited from inet::OperationalBase | |
virtual void | handleMessage (cMessage *msg) override |
virtual void | handleMessageWhenDown (cMessage *msg) |
virtual void | handleMessageWhenUp (cMessage *msg)=0 |
virtual bool | handleOperationStage (LifecycleOperation *operation, int stage, IDoneCallback *doneCallback) override |
Perform one stage of a lifecycle operation. More... | |
virtual void | setOperational (bool isOperational) |
Protected Attributes | |
IIPv4RoutingTable * | rt = nullptr |
IInterfaceTable * | ift = nullptr |
PIMInterfaceTable * | pimIft = nullptr |
PIMNeighborTable * | pimNbt = nullptr |
bool | isUp = false |
bool | isEnabled = false |
const char * | hostname = nullptr |
double | helloPeriod = 0 |
double | holdTime = 0 |
int | designatedRouterPriority = 0 |
PIMInterface::PIMMode | mode = (PIMInterface::PIMMode)0 |
uint32_t | generationID = 0 |
cMessage * | helloTimer = nullptr |
Protected Attributes inherited from inet::OperationalBase | |
bool | isOperational |
simtime_t | lastChange |
Static Protected Attributes | |
static const IPv4Address | ALL_PIM_ROUTERS_MCAST |
static simsignal_t | sentHelloPkSignal = registerSignal("sentHelloPk") |
static simsignal_t | rcvdHelloPkSignal = registerSignal("rcvdHelloPk") |
|
protected |
|
inline |
|
virtual |
|
overrideprotectedvirtual |
Reimplemented from inet::OperationalBase.
Reimplemented in inet::PIMDM, and inet::PIMSM.
Referenced by inet::PIMSM::handleNodeCrash(), and inet::PIMDM::handleNodeCrash().
|
overrideprotectedvirtual |
Reimplemented from inet::OperationalBase.
Reimplemented in inet::PIMDM, and inet::PIMSM.
Referenced by inet::PIMSM::handleNodeShutdown(), and inet::PIMDM::handleNodeShutdown().
|
overrideprotectedvirtual |
Reimplemented from inet::OperationalBase.
Reimplemented in inet::PIMDM, and inet::PIMSM.
Referenced by inet::PIMSM::handleNodeStart(), and inet::PIMDM::handleNodeStart().
|
overrideprotectedvirtual |
Reimplemented from inet::OperationalBase.
Reimplemented in inet::PIMDM, and inet::PIMSM.
Referenced by inet::PIMSM::initialize(), and inet::PIMDM::initialize().
|
inlineoverrideprotectedvirtual |
Implements inet::OperationalBase.
|
inlineoverrideprotectedvirtual |
Implements inet::OperationalBase.
|
inlineoverrideprotectedvirtual |
Implements inet::OperationalBase.
|
inlineoverrideprotectedvirtual |
|
protected |
Referenced by inet::PIMSM::handleMessageWhenUp().
|
protected |
Referenced by inet::PIMSM::handleMessageWhenUp().
|
protected |
|
protected |
|
staticprotected |
Referenced by inet::PIMSM::sendPIMAssert(), inet::PIMSM::sendPIMJoin(), and inet::PIMSM::sendPIMPrune().
|
protected |
Referenced by inet::PIMSM::updateDesignatedRouterAddress().
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by inet::PIMSM::processJoinPrunePacket().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
Referenced by inet::PIMSM::addNewRouteG(), inet::PIMSM::addNewRouteSG(), inet::PIMSM::clearRoutes(), inet::PIMSM::deleteMulticastRoute(), inet::PIMSM::findIPv4Route(), inet::PIMSM::multicastPacketForwarded(), inet::PIMSM::sendPIMJoin(), inet::PIMSM::sendPIMPrune(), inet::PIMSM::sendPIMRegisterNull(), inet::PIMSM::sendPIMRegisterStop(), and inet::PIMSM::unroutableMulticastPacketArrived().
|
staticprotected |