INET Framework for OMNeT++/OMNEST
|
Public Types | |
enum | Flags { SOURCE_DIRECTLY_CONNECTED = 0x01 } |
enum | GraftPruneState { FORWARDING, PRUNED, ACK_PENDING } |
enum | OriginatorState { NOT_ORIGINATOR, ORIGINATOR } |
Public Types inherited from inet::PIMBase::Interface | |
enum | AssertState { NO_ASSERT_INFO, I_LOST_ASSERT, I_WON_ASSERT } |
Public Member Functions | |
UpstreamInterface (Route *owner, InterfaceEntry *ie, IPv4Address neighbor, bool isSourceDirectlyConnected) | |
virtual | ~UpstreamInterface () |
Route * | route () const |
PIMDM * | pimdm () const |
int | getInterfaceId () const |
IPv4Address | rpfNeighbor () |
bool | isSourceDirectlyConnected () const |
void | startGraftRetryTimer () |
The method is used to create PIMGraftRetry timer. More... | |
void | startOverrideTimer () |
void | startSourceActiveTimer () |
The method is used to create PIMSourceActive timer. More... | |
void | startStateRefreshTimer () |
The method is used to create PIMStateRefresh timer. More... | |
void | startPruneLimitTimer () |
void | stopPruneLimitTimer () |
bool | isPruneLimitTimerRunning () |
Public Member Functions inherited from inet::PIMBase::Interface | |
Interface (RouteEntry *owner, InterfaceEntry *ie) | |
virtual | ~Interface () |
bool | isFlagSet (int flag) const |
void | setFlags (int flags) |
void | clearFlag (int flag) |
void | setFlag (int flag, bool value) |
void | startAssertTimer (double assertTime) |
void | deleteAssertInfo () |
Public Attributes | |
IPv4Address | nextHop |
GraftPruneState | graftPruneState |
cMessage * | graftRetryTimer |
cMessage * | overrideTimer |
simtime_t | lastPruneSentTime |
OriginatorState | originatorState |
cMessage * | sourceActiveTimer |
cMessage * | stateRefreshTimer |
unsigned short | maxTtlSeen |
Public Attributes inherited from inet::PIMBase::Interface | |
RouteEntry * | owner |
InterfaceEntry * | ie |
int | flags |
AssertState | assertState |
cMessage * | assertTimer |
AssertMetric | winnerMetric |
|
inline |
|
virtual |
|
inline |
|
inline |
Referenced by inet::PIMDM::multicastPacketArrivedOnRpfInterface().
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by inet::PIMDM::multicastPacketArrivedOnNonRpfInterface(), inet::PIMDM::multicastPacketArrivedOnRpfInterface(), inet::PIMDM::processGraftRetryTimer(), inet::PIMDM::processOlistEmptyEvent(), inet::PIMDM::processOlistNonEmptyEvent(), inet::PIMDM::processOverrideTimer(), and inet::PIMDM::rpfInterfaceHasChanged().
void inet::PIMDM::UpstreamInterface::startGraftRetryTimer | ( | ) |
The method is used to create PIMGraftRetry timer.
The timer is set when router wants to join to multicast tree again and send PIM Prune message to upstream. Router waits for Graft Retry Timer (3 s) for PIM PruneAck message from upstream. If timer expires, router will send PIM Prune message again. It is set to (S,G).
Referenced by inet::PIMDM::processOlistNonEmptyEvent(), and inet::PIMDM::rpfInterfaceHasChanged().
void inet::PIMDM::UpstreamInterface::startOverrideTimer | ( | ) |
Referenced by inet::PIMDM::processPrune().
|
inline |
void inet::PIMDM::UpstreamInterface::startSourceActiveTimer | ( | ) |
The method is used to create PIMSourceActive timer.
The timer is set when source of multicast is connected directly to the router. If timer expires, router will remove the route from multicast routing table. It is set to (S,G).
Referenced by inet::PIMDM::unroutableMulticastPacketArrived().
void inet::PIMDM::UpstreamInterface::startStateRefreshTimer | ( | ) |
The method is used to create PIMStateRefresh timer.
The timer is set when source of multicast is connected directly to the router. If timer expires, router will send StateRefresh message, which will propagate through all network and wil reset Prune Timer. It is set to (S,G).
Referenced by inet::PIMDM::multicastPacketArrivedOnRpfInterface(), and inet::PIMDM::unroutableMulticastPacketArrived().
|
inline |
Referenced by inet::PIMDM::processOlistNonEmptyEvent(), and inet::PIMDM::rpfInterfaceHasChanged().
GraftPruneState inet::PIMDM::UpstreamInterface::graftPruneState |
Referenced by inet::PIMDM::multicastPacketArrivedOnNonRpfInterface(), inet::PIMDM::multicastPacketArrivedOnRpfInterface(), inet::PIMDM::multicastReceiverAdded(), inet::PIMDM::processGraftAckPacket(), inet::PIMDM::processGraftRetryTimer(), inet::PIMDM::processJoin(), inet::PIMDM::processOlistEmptyEvent(), inet::PIMDM::processOlistNonEmptyEvent(), inet::PIMDM::processOverrideTimer(), inet::PIMDM::processPrune(), inet::PIMDM::rpfInterfaceHasChanged(), and inet::PIMDM::unroutableMulticastPacketArrived().
cMessage* inet::PIMDM::UpstreamInterface::graftRetryTimer |
simtime_t inet::PIMDM::UpstreamInterface::lastPruneSentTime |
unsigned short inet::PIMDM::UpstreamInterface::maxTtlSeen |
IPv4Address inet::PIMDM::UpstreamInterface::nextHop |
OriginatorState inet::PIMDM::UpstreamInterface::originatorState |
cMessage* inet::PIMDM::UpstreamInterface::overrideTimer |
Referenced by inet::PIMDM::processJoin(), inet::PIMDM::processOverrideTimer(), and inet::PIMDM::processPrune().
cMessage* inet::PIMDM::UpstreamInterface::sourceActiveTimer |
cMessage* inet::PIMDM::UpstreamInterface::stateRefreshTimer |
Referenced by inet::PIMDM::processSourceActiveTimer(), and inet::PIMDM::processStateRefreshTimer().