INET Framework for OMNeT++/OMNEST
inet::ieee80211::Ieee80211MgmtAPSimplified Class Reference

Used in 802.11 infrastructure mode: handles management frames for an access point (AP). More...

#include <Ieee80211MgmtAPSimplified.h>

Inheritance diagram for inet::ieee80211::Ieee80211MgmtAPSimplified:
inet::ieee80211::Ieee80211MgmtAPBase inet::ieee80211::Ieee80211MgmtBase inet::ILifecycle

Protected Member Functions

virtual int numInitStages () const override
 
virtual void initialize (int) override
 
virtual void handleTimer (cMessage *msg) override
 Implements abstract Ieee80211MgmtBase method. More...
 
virtual void handleUpperMessage (cPacket *msg) override
 Implements abstract Ieee80211MgmtBase method. More...
 
virtual void handleCommand (int msgkind, cObject *ctrl) override
 Implements abstract Ieee80211MgmtBase method – throws an error (no commands supported) More...
 
Processing of different frame types
virtual void handleDataFrame (Ieee80211DataFrame *frame) override
 
virtual void handleAuthenticationFrame (Ieee80211AuthenticationFrame *frame) override
 
virtual void handleDeauthenticationFrame (Ieee80211DeauthenticationFrame *frame) override
 
virtual void handleAssociationRequestFrame (Ieee80211AssociationRequestFrame *frame) override
 
virtual void handleAssociationResponseFrame (Ieee80211AssociationResponseFrame *frame) override
 
virtual void handleReassociationRequestFrame (Ieee80211ReassociationRequestFrame *frame) override
 
virtual void handleReassociationResponseFrame (Ieee80211ReassociationResponseFrame *frame) override
 
virtual void handleDisassociationFrame (Ieee80211DisassociationFrame *frame) override
 
virtual void handleBeaconFrame (Ieee80211BeaconFrame *frame) override
 
virtual void handleProbeRequestFrame (Ieee80211ProbeRequestFrame *frame) override
 
virtual void handleProbeResponseFrame (Ieee80211ProbeResponseFrame *frame) override
 
- Protected Member Functions inherited from inet::ieee80211::Ieee80211MgmtAPBase
virtual void distributeReceivedDataFrame (Ieee80211DataFrame *frame)
 Utility function for APs: sends back a data frame we received from a STA to the wireless LAN, after tweaking fromDS/toDS bits and shuffling addresses as needed. More...
 
virtual Ieee80211DataFrameencapsulate (cPacket *msg)
 Utility function for handleUpperMessage() More...
 
virtual Ieee80211DataFrameconvertFromEtherFrame (EtherFrame *ethframe)
 Utility function: converts EtherFrame to Ieee80211Frame. More...
 
virtual EtherFrameconvertToEtherFrame (Ieee80211DataFrame *frame)
 Utility function: converts Ieee80211Frame to EtherFrame. More...
 
virtual void sendToUpperLayer (Ieee80211DataFrame *frame)
 Utility function: send a frame to upperLayerOut. More...
 
- Protected Member Functions inherited from inet::ieee80211::Ieee80211MgmtBase
virtual void handleMessage (cMessage *msg) override
 Dispatches incoming messages to handleTimer(), handleUpperMessage() or processFrame(). More...
 
virtual void sendDown (cPacket *frame)
 Utility method for implementing handleUpperMessage(): send message to MAC. More...
 
virtual void dropManagementFrame (Ieee80211ManagementFrame *frame)
 Utility method to dispose of an unhandled frame. More...
 
virtual void sendUp (cMessage *msg)
 Utility method: sends the packet to the upper layer. More...
 
virtual void processFrame (Ieee80211DataOrMgmtFrame *frame)
 Dispatch to frame processing methods according to frame type. More...
 
virtual void start ()
 lifecycle support More...
 
virtual void stop ()
 

Additional Inherited Members

- Public Types inherited from inet::ieee80211::Ieee80211MgmtAPBase
enum  EncapDecap { ENCAP_DECAP_TRUE = 1, ENCAP_DECAP_FALSE, ENCAP_DECAP_ETH }
 
- Public Member Functions inherited from inet::ieee80211::Ieee80211MgmtBase
virtual bool handleOperationStage (LifecycleOperation *operation, int stage, IDoneCallback *doneCallback) override
 Perform one stage of a lifecycle operation. More...
 
- Public Member Functions inherited from inet::ILifecycle
virtual ~ILifecycle ()
 
- Protected Attributes inherited from inet::ieee80211::Ieee80211MgmtAPBase
bool isConnectedToHL
 
EncapDecap encapDecap
 
- Protected Attributes inherited from inet::ieee80211::Ieee80211MgmtBase
MACAddress myAddress
 
bool isOperational
 
long numDataFramesReceived
 
long numMgmtFramesReceived
 
long numMgmtFramesDropped
 

Detailed Description

Used in 802.11 infrastructure mode: handles management frames for an access point (AP).

See corresponding NED file for a detailed description. This implementation ignores many details.

Author
Andras Varga

Member Function Documentation

void inet::ieee80211::Ieee80211MgmtAPSimplified::handleAssociationRequestFrame ( Ieee80211AssociationRequestFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

81 {
82  dropManagementFrame(frame);
83 }
virtual void dropManagementFrame(Ieee80211ManagementFrame *frame)
Utility method to dispose of an unhandled frame.
Definition: Ieee80211MgmtBase.cc:90
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleAssociationResponseFrame ( Ieee80211AssociationResponseFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

86 {
87  dropManagementFrame(frame);
88 }
virtual void dropManagementFrame(Ieee80211ManagementFrame *frame)
Utility method to dispose of an unhandled frame.
Definition: Ieee80211MgmtBase.cc:90
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleAuthenticationFrame ( Ieee80211AuthenticationFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

71 {
72  dropManagementFrame(frame);
73 }
virtual void dropManagementFrame(Ieee80211ManagementFrame *frame)
Utility method to dispose of an unhandled frame.
Definition: Ieee80211MgmtBase.cc:90
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleBeaconFrame ( Ieee80211BeaconFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

106 {
107  dropManagementFrame(frame);
108 }
virtual void dropManagementFrame(Ieee80211ManagementFrame *frame)
Utility method to dispose of an unhandled frame.
Definition: Ieee80211MgmtBase.cc:90
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleCommand ( int  msgkind,
cObject *  ctrl 
)
overrideprotectedvirtual

Implements abstract Ieee80211MgmtBase method – throws an error (no commands supported)

Implements inet::ieee80211::Ieee80211MgmtBase.

50 {
51  throw cRuntimeError("handleCommand(): no commands supported");
52 }
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleDataFrame ( Ieee80211DataFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

55 {
56  // check toDS bit
57  if (!frame->getToDS()) {
58  // looks like this is not for us - discard
59  delete frame;
60  return;
61  }
62 
63  if (isConnectedToHL)
64  sendToUpperLayer(frame->dup());
65 
66  // send it out to the destination STA
68 }
bool isConnectedToHL
Definition: Ieee80211MgmtAPBase.h:44
virtual void distributeReceivedDataFrame(Ieee80211DataFrame *frame)
Utility function for APs: sends back a data frame we received from a STA to the wireless LAN...
Definition: Ieee80211MgmtAPBase.cc:50
virtual void sendToUpperLayer(Ieee80211DataFrame *frame)
Utility function: send a frame to upperLayerOut.
Definition: Ieee80211MgmtAPBase.cc:66
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleDeauthenticationFrame ( Ieee80211DeauthenticationFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

76 {
77  dropManagementFrame(frame);
78 }
virtual void dropManagementFrame(Ieee80211ManagementFrame *frame)
Utility method to dispose of an unhandled frame.
Definition: Ieee80211MgmtBase.cc:90
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleDisassociationFrame ( Ieee80211DisassociationFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

101 {
102  dropManagementFrame(frame);
103 }
virtual void dropManagementFrame(Ieee80211ManagementFrame *frame)
Utility method to dispose of an unhandled frame.
Definition: Ieee80211MgmtBase.cc:90
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleProbeRequestFrame ( Ieee80211ProbeRequestFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

111 {
112  dropManagementFrame(frame);
113 }
virtual void dropManagementFrame(Ieee80211ManagementFrame *frame)
Utility method to dispose of an unhandled frame.
Definition: Ieee80211MgmtBase.cc:90
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleProbeResponseFrame ( Ieee80211ProbeResponseFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

116 {
117  dropManagementFrame(frame);
118 }
virtual void dropManagementFrame(Ieee80211ManagementFrame *frame)
Utility method to dispose of an unhandled frame.
Definition: Ieee80211MgmtBase.cc:90
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleReassociationRequestFrame ( Ieee80211ReassociationRequestFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

91 {
92  dropManagementFrame(frame);
93 }
virtual void dropManagementFrame(Ieee80211ManagementFrame *frame)
Utility method to dispose of an unhandled frame.
Definition: Ieee80211MgmtBase.cc:90
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleReassociationResponseFrame ( Ieee80211ReassociationResponseFrame frame)
overrideprotectedvirtual

Implements inet::ieee80211::Ieee80211MgmtBase.

96 {
97  dropManagementFrame(frame);
98 }
virtual void dropManagementFrame(Ieee80211ManagementFrame *frame)
Utility method to dispose of an unhandled frame.
Definition: Ieee80211MgmtBase.cc:90
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleTimer ( cMessage *  msg)
overrideprotectedvirtual

Implements abstract Ieee80211MgmtBase method.

Implements inet::ieee80211::Ieee80211MgmtBase.

39 {
40  ASSERT(false);
41 }
void inet::ieee80211::Ieee80211MgmtAPSimplified::handleUpperMessage ( cPacket *  msg)
overrideprotectedvirtual

Implements abstract Ieee80211MgmtBase method.

Implements inet::ieee80211::Ieee80211MgmtBase.

44 {
45  Ieee80211DataFrame *frame = encapsulate(msg);
46  sendDown(frame);
47 }
virtual Ieee80211DataFrame * encapsulate(cPacket *msg)
Utility function for handleUpperMessage()
Definition: Ieee80211MgmtAPBase.cc:170
virtual void sendDown(cPacket *frame)
Utility method for implementing handleUpperMessage(): send message to MAC.
Definition: Ieee80211MgmtBase.cc:84
void inet::ieee80211::Ieee80211MgmtAPSimplified::initialize ( int  stage)
overrideprotectedvirtual

Reimplemented from inet::ieee80211::Ieee80211MgmtAPBase.

34 {
36 }
virtual void initialize(int) override
Definition: Ieee80211MgmtAPBase.cc:30
virtual int inet::ieee80211::Ieee80211MgmtAPSimplified::numInitStages ( ) const
inlineoverrideprotectedvirtual

Reimplemented from inet::ieee80211::Ieee80211MgmtAPBase.

39 { return NUM_INIT_STAGES; }
The number of initialization stages.
Definition: InitStages.h:116

The documentation for this class was generated from the following files: