INET Framework for OMNeT++/OMNEST
|
#include <Ieee8021dRelay.h>
Public Member Functions | |
Ieee8021dRelay () | |
Public Member Functions inherited from inet::ILifecycle | |
virtual | ~ILifecycle () |
Protected Member Functions | |
virtual void | initialize (int stage) override |
virtual int | numInitStages () const override |
virtual void | handleMessage (cMessage *msg) override |
void | handleAndDispatchFrame (EtherFrame *frame) |
Updates address table (if the port is in learning state) with source address, determines output port and sends out (or broadcasts) frame on ports (if the ports are in forwarding state). More... | |
void | dispatch (EtherFrame *frame, unsigned int portNum) |
void | learn (EtherFrame *frame) |
void | broadcast (EtherFrame *frame) |
void | dispatchBPDU (BPDU *bpdu) |
Receives BPDU from the STP/RSTP module and dispatch it to network. More... | |
void | deliverBPDU (EtherFrame *frame) |
Deliver BPDU to the STP/RSTP module. More... | |
virtual void | start () |
virtual void | stop () |
bool | handleOperationStage (LifecycleOperation *operation, int stage, IDoneCallback *doneCallback) override |
Perform one stage of a lifecycle operation. More... | |
Ieee8021dInterfaceData * | getPortInterfaceData (unsigned int portNum) |
virtual InterfaceEntry * | chooseInterface () |
virtual void | finish () override |
Protected Attributes | |
MACAddress | bridgeAddress |
IInterfaceTable * | ifTable = nullptr |
IMACAddressTable * | macTable = nullptr |
InterfaceEntry * | ie = nullptr |
bool | isOperational = false |
bool | isStpAware = false |
unsigned int | portCount = 0 |
int | numReceivedNetworkFrames = 0 |
int | numDroppedFrames = 0 |
int | numReceivedBPDUsFromSTP = 0 |
int | numDeliveredBDPUsToSTP = 0 |
int | numDispatchedNonBPDUFrames = 0 |
int | numDispatchedBDPUFrames = 0 |
|
protected |
Referenced by handleAndDispatchFrame().
|
protectedvirtual |
Referenced by initialize(), and start().
|
protected |
Deliver BPDU to the STP/RSTP module.
Sets the BPDU's Ieee802Ctrl info according to the arriving EtherFrame.
Referenced by handleAndDispatchFrame().
|
protected |
Referenced by broadcast(), and handleAndDispatchFrame().
|
protected |
Receives BPDU from the STP/RSTP module and dispatch it to network.
Sets EherFrame destination, source, etc. according to the BPDU's Ieee802Ctrl info.
Referenced by handleMessage().
|
overrideprotectedvirtual |
|
protected |
Referenced by broadcast(), handleAndDispatchFrame(), and learn().
|
protected |
Updates address table (if the port is in learning state) with source address, determines output port and sends out (or broadcasts) frame on ports (if the ports are in forwarding state).
Includes calls to updateTableWithAddress() and getPortForAddress().
Referenced by handleMessage().
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Perform one stage of a lifecycle operation.
Processing may be done entirely within this method, or may be a longer process that involves nonzero simulation time or several events, and is triggered by this method call.
Return value: true = "done"; false = "not yet done, will invoke doneCallback when done"
Implements inet::ILifecycle.
|
overrideprotectedvirtual |
|
protected |
Referenced by handleAndDispatchFrame().
|
inlineoverrideprotectedvirtual |
|
protectedvirtual |
Referenced by handleOperationStage().
|
protectedvirtual |
Referenced by handleOperationStage().
|
protected |
Referenced by dispatchBPDU(), handleAndDispatchFrame(), initialize(), and start().
|
protected |
Referenced by initialize(), start(), and stop().
|
protected |
Referenced by getPortInterfaceData(), and initialize().
|
protected |
Referenced by handleMessage(), initialize(), start(), and stop().
|
protected |
Referenced by broadcast(), getPortInterfaceData(), handleAndDispatchFrame(), initialize(), and learn().
|
protected |
Referenced by handleAndDispatchFrame(), initialize(), learn(), start(), and stop().
|
protected |
Referenced by deliverBPDU(), finish(), and initialize().
|
protected |
Referenced by dispatchBPDU(), finish(), and initialize().
|
protected |
Referenced by dispatch(), finish(), and initialize().
|
protected |
Referenced by finish(), handleAndDispatchFrame(), and initialize().
|
protected |
Referenced by finish(), handleMessage(), and initialize().
|
protected |
Referenced by finish(), handleMessage(), and initialize().
|
protected |
Referenced by broadcast(), dispatch(), dispatchBPDU(), and initialize().