A Discrete-Event Network Simulator
API
lr-wpan-mac.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2011 The Boeing Company
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Authors:
19  * Gary Pei <guangyu.pei@boeing.com>
20  * kwong yin <kwong-sang.yin@boeing.com>
21  * Tom Henderson <thomas.r.henderson@boeing.com>
22  * Sascha Alexander Jopen <jopen@cs.uni-bonn.de>
23  * Alberto Gallegos Ramonet <ramonet@fc.ritsumei.ac.jp>
24  */
25 #ifndef LR_WPAN_MAC_H
26 #define LR_WPAN_MAC_H
27 
28 #include <ns3/object.h>
29 #include <ns3/traced-callback.h>
30 #include <ns3/traced-value.h>
31 #include <ns3/mac16-address.h>
32 #include <ns3/mac64-address.h>
33 #include <ns3/sequence-number.h>
34 #include <ns3/lr-wpan-phy.h>
35 #include <ns3/lr-wpan-fields.h>
36 #include <ns3/event-id.h>
37 #include <deque>
38 
39 
40 namespace ns3 {
41 
42 class Packet;
43 class LrWpanCsmaCa;
44 
56 typedef enum
57 {
63 
69 typedef enum
70 {
82 
88 typedef enum
89 {
91  CAP,
92  CFP,
93  INACTIVE
95 
101 typedef enum
102 {
103  OUTGOING = 0,
104  INCOMING = 1
106 
107 
108 namespace TracedValueCallback {
109 
117 typedef void (*LrWpanMacState)(LrWpanMacState oldValue,
118  LrWpanMacState newValue);
119 
127 typedef void (*SuperframeStatus)(SuperframeStatus oldValue,
128  SuperframeStatus newValue);
129 
130 } // namespace TracedValueCallback
131 
137 typedef enum
138 {
142  EXT_ADDR = 3
144 
150 typedef enum
151 {
156  DISASSOCIATED = 0xff
158 
164 typedef enum
165 {
179 
185 typedef enum
186 {
198 
204 typedef enum
205 {
211 
212 
218 typedef enum
219 {
230 
237 {
241  m_dstPanId (0),
242  m_dstAddr (),
243  m_msduHandle (0),
244  m_txOptions (0)
245  {}
248  uint16_t m_dstPanId;
251  uint8_t m_msduHandle;
252  uint8_t m_txOptions;
253 };
254 
261 {
262  uint8_t m_msduHandle;
264 };
271 {
272  uint8_t m_srcAddrMode;
273  uint16_t m_srcPanId;
276  uint8_t m_dstAddrMode;
277  uint16_t m_dstPanId;
281  uint8_t m_dsn;
282 };
289 {
291  : m_PanId (0),
292  m_logCh (11),
293  m_logChPage (0),
294  m_startTime (0),
295  m_bcnOrd (15),
296  m_sfrmOrd (15),
297  m_panCoor (false),
298  m_battLifeExt (false),
299  m_coorRealgn (false)
300  {}
301  uint16_t m_PanId;
302  uint8_t m_logCh;
303  uint32_t m_logChPage;
304  uint32_t m_startTime;
305  uint8_t m_bcnOrd;
306  uint8_t m_sfrmOrd;
307  bool m_panCoor;
310 };
317 {
319  : m_logCh (),
320  m_trackBcn (false)
321  {}
322  uint8_t m_logCh;
323  bool m_trackBcn;
324 };
331 {
334  m_coorPanId (0),
335  m_coorShortAddr (),
336  m_coorExtAddr ()
337  {}
339  uint16_t m_coorPanId;
342 
343 
344 };
351 {
353 };
360 {
361  uint8_t m_bsn;
362  //TODO: Add other params
363  //m_PanDesc;
364  //m_PenAddrSpec
365  //m_sduAddrList
366  //m_sduLength
367  //m_sdu;
368 };
375 {
377  uint16_t m_panId;
378  uint8_t m_logCh;
379 };
386 {
388 };
448 class LrWpanMac : public Object
449 {
450 public:
456  static TypeId GetTypeId (void);
457  //MAC sublayer constants
462  static const uint32_t aMinMPDUOverhead;
468  static const uint32_t aBaseSlotDuration;
473  static const uint32_t aNumSuperframeSlots;
479  static const uint32_t aBaseSuperframeDuration;
486  static const uint32_t aMaxLostBeacons;
492  static const uint32_t aMaxSIFSFrameSize;
496  LrWpanMac (void);
497  virtual ~LrWpanMac (void);
503  bool GetRxOnWhenIdle (void);
509  void SetRxOnWhenIdle (bool rxOnWhenIdle);
510  // XXX these setters will become obsolete if we use the attribute system
522  Mac16Address GetShortAddress (void) const;
534  Mac64Address GetExtendedAddress (void) const;
540  void SetPanId (uint16_t panId);
546  uint16_t GetPanId (void) const;
587  void SetCsmaCa (Ptr<LrWpanCsmaCa> csmaCa);
593  void SetPhy (Ptr<LrWpanPhy> phy);
599  Ptr<LrWpanPhy> GetPhy (void);
648 
649  // interfaces between MAC and PHY
650 
659  void PdDataIndication (uint32_t psduLength, Ptr<Packet> p, uint8_t lqi);
666  void PdDataConfirm (LrWpanPhyEnumeration status);
672  void PlmeCcaConfirm (LrWpanPhyEnumeration status);
679  void PlmeEdConfirm (LrWpanPhyEnumeration status, uint8_t energyLevel);
690  LrWpanPhyPibAttributes* attribute);
712  void SetLrWpanMacState (LrWpanMacState macState);
719 
726 
727 
728  //MAC PIB attributes
729 
790  uint8_t m_fnlCapSlot;
819  uint16_t m_macPanId;
845  uint32_t m_macLIFSPeriod;
850  uint32_t m_macSIFSPeriod;
862  uint32_t m_ifs;
866  bool m_panCoor;
904  uint64_t GetMacAckWaitDuration (void) const;
910  uint8_t GetMacMaxFrameRetries (void) const;
914  void PrintTransmitQueueSize (void);
920  void SetMacMaxFrameRetries (uint8_t retries);
926  bool isCoordDest (void);
944  uint32_t GetIfsSize ();
950  uint64_t GetTxPacketSymbols (void);
956  bool isTxAckReq (void);
964  typedef void (*SentTracedCallback)(Ptr<const Packet> packet, uint8_t retries, uint8_t backoffs);
965 
975  typedef void (*StateTracedCallback)(LrWpanMacState oldState, LrWpanMacState newState);
976 
977 protected:
978  // Inherited from Object.
979  virtual void DoInitialize (void);
980  virtual void DoDispose (void);
981 
982 private:
987  {
988  uint8_t txQMsduHandle;
990 
991  };
996  {
997  uint8_t txQMsduHandle;
1000  };
1004  void SendOneBeacon (void);
1011  void StartCFP (SuperframeType superframeType);
1018  void StartCAP (SuperframeType superframeType);
1025  void StartInactivePeriod (SuperframeType superframeType);
1030  void AwaitBeacon (void);
1034  void BeaconSearchTimeout (void);
1040  void SendAck (uint8_t seqno);
1045  void RemoveFirstTxQElement ();
1051  void ChangeMacState (LrWpanMacState newState);
1056  void AckWaitTimeout (void);
1064  void IfsWaitTimeout (Time ifsTime);
1071  bool PrepareRetransmission (void);
1077  void CheckQueue (void);
1091  GtsFields GetGtsFields (void);
1099 
1193 
1282  Ptr<Packet> m_txPkt; // XXX need packet buffer instead of single packet
1297  std::deque<TxQueueElement*> m_txQueue;
1301  std::deque<IndTxQueueElement*> m_indTxQueue;
1348 };
1349 } // namespace ns3
1350 
1351 #endif /* LR_WPAN_MAC_H */
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::LrWpanMac::m_mlmeBeaconNotifyIndicationCallback
MlmeBeaconNotifyIndicationCallback m_mlmeBeaconNotifyIndicationCallback
This callback is used to notify incoming beacon packets to the upper layers.
Definition: lr-wpan-mac.h:1234
ns3::LrWpanMac::m_associationStatus
LrWpanAssociationStatus m_associationStatus
The current association status of the MAC layer.
Definition: lr-wpan-mac.h:1278
ns3::MlmeStartRequestParams::m_panCoor
bool m_panCoor
On true this device will become coordinator.
Definition: lr-wpan-mac.h:307
ns3::LrWpanMac::m_trackingEvent
EventId m_trackingEvent
Scheduler event to track the incoming beacons.
Definition: lr-wpan-mac.h:1347
ns3::LrWpanMac::aNumSuperframeSlots
static const uint32_t aNumSuperframeSlots
Number of a superframe slots per superframe.
Definition: lr-wpan-mac.h:473
ns3::McpsDataIndicationParams::m_dsn
uint8_t m_dsn
The DSN of the received data frame.
Definition: lr-wpan-mac.h:281
ns3::LrWpanMac::m_incomingSuperframeOrder
uint8_t m_incomingSuperframeOrder
Used by all devices that have a parent.
Definition: lr-wpan-mac.h:803
ns3::LrWpanMac::m_macBeaconRxTime
Time m_macBeaconRxTime
The time that the device received its last bit of the beacon frame.
Definition: lr-wpan-mac.h:742
ns3::LrWpanMlmeStartConfirmStatus
LrWpanMlmeStartConfirmStatus
Table 35 of IEEE 802.15.4-2011.
Definition: lr-wpan-mac.h:186
ns3::LrWpanMac::IndTxQueueElement::txQMsduHandle
uint8_t txQMsduHandle
MSDU Handle.
Definition: lr-wpan-mac.h:997
ns3::LrWpanMac::m_macRxDropTrace
TracedCallback< Ptr< const Packet > > m_macRxDropTrace
The trace source fired for packets successfully received by the device but dropped before being forwa...
Definition: lr-wpan-mac.h:1173
ns3::IEEE_802_15_4_INVALID_PARAMETER
@ IEEE_802_15_4_INVALID_PARAMETER
Definition: lr-wpan-mac.h:177
ns3::LrWpanTxOption
LrWpanTxOption
Tx options.
Definition: lr-wpan-mac.h:57
ns3::MLMESTART_UNAVAILABLE_KEY
@ MLMESTART_UNAVAILABLE_KEY
Definition: lr-wpan-mac.h:194
ns3::MLMEPOLL_INVALID_PARAMETER
@ MLMEPOLL_INVALID_PARAMETER
Definition: lr-wpan-mac.h:228
ns3::LrWpanPhyPibAttributes
IEEE802.15.4-2006 PHY PIB Attributes Table 23 in section 6.4.2.
Definition: lr-wpan-phy.h:158
ns3::LrWpanMac::m_macCoordShortAddress
Mac16Address m_macCoordShortAddress
The short address of the coordinator through which the device is associated.
Definition: lr-wpan-mac.h:750
ns3::LrWpanMac::AwaitBeacon
void AwaitBeacon(void)
Called after the end of an INCOMING superframe to start the moment a device waits for a new incoming ...
Definition: lr-wpan-mac.cc:854
ns3::LrWpanMac::DoDispose
virtual void DoDispose(void)
Destructor implementation.
Definition: lr-wpan-mac.cc:216
ns3::LrWpanMac::aBaseSuperframeDuration
static const uint32_t aBaseSuperframeDuration
Length of a superframe in symbols.
Definition: lr-wpan-mac.h:479
ns3::IEEE_802_15_4_TRANSACTION_EXPIRED
@ IEEE_802_15_4_TRANSACTION_EXPIRED
Definition: lr-wpan-mac.h:168
ns3::McpsDataIndicationParams::m_mpduLinkQuality
uint8_t m_mpduLinkQuality
LQI value measured during reception of the MPDU.
Definition: lr-wpan-mac.h:280
ns3::MLMESTART_INVALID_PARAMETER
@ MLMESTART_INVALID_PARAMETER
Definition: lr-wpan-mac.h:191
ns3::LrWpanMac::DoInitialize
virtual void DoInitialize(void)
Initialize() implementation.
Definition: lr-wpan-mac.cc:201
ns3::LrWpanMac::SetMlmeStartConfirmCallback
void SetMlmeStartConfirmCallback(MlmeStartConfirmCallback c)
Set the callback for the confirmation of a data transmission request.
Definition: lr-wpan-mac.cc:995
ns3::LrWpanMac::m_macCoordExtendedAddress
Mac64Address m_macCoordExtendedAddress
The extended address of the coordinator through which the device is associated.
Definition: lr-wpan-mac.h:756
ns3::CFP
@ CFP
Contention Free Period.
Definition: lr-wpan-mac.h:92
ns3::EventId
An identifier for simulation events.
Definition: event-id.h:54
ns3::IEEE_802_15_4_FRAME_TOO_LONG
@ IEEE_802_15_4_FRAME_TOO_LONG
Definition: lr-wpan-mac.h:174
ns3::IEEE_802_15_4_INVALID_ADDRESS
@ IEEE_802_15_4_INVALID_ADDRESS
Definition: lr-wpan-mac.h:170
ns3::Callback< void, McpsDataConfirmParams >
ns3::PAN_AT_CAPACITY
@ PAN_AT_CAPACITY
Definition: lr-wpan-mac.h:153
ns3::LrWpanMac::m_incCfpEvent
EventId m_incCfpEvent
Scheduler event for the end of the incoming superframe CFP.
Definition: lr-wpan-mac.h:1343
ns3::MlmePollConfirmCallback
Callback< void, MlmePollConfirmParams > MlmePollConfirmCallback
This callback is called after a Mlme-Poll.Request has been called from the higher layer.
Definition: lr-wpan-mac.h:442
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::LrWpanMac::RemoveFirstTxQElement
void RemoveFirstTxQElement()
Remove the tip of the transmission queue, including clean up related to the last packet transmission.
Definition: lr-wpan-mac.cc:1437
ns3::SuperframeType
SuperframeType
Superframe type.
Definition: lr-wpan-mac.h:102
ns3::McpsDataIndicationParams::m_dstExtAddr
Mac64Address m_dstExtAddr
Destination extended address.
Definition: lr-wpan-mac.h:279
ns3::TX_OPTION_ACK
@ TX_OPTION_ACK
TX_OPTION_ACK.
Definition: lr-wpan-mac.h:59
ns3::LrWpanMac::m_macIfsEndTrace
TracedCallback< Time > m_macIfsEndTrace
The trace source is fired at the end of any Interframe Space (IFS).
Definition: lr-wpan-mac.h:1103
ns3::MlmeStartRequestParams::MlmeStartRequestParams
MlmeStartRequestParams()
Definition: lr-wpan-mac.h:290
ns3::PendingAddrFields
Represent the Pending Address Specification field.
Definition: lr-wpan-fields.h:258
ns3::TX_OPTION_NONE
@ TX_OPTION_NONE
TX_OPTION_NONE.
Definition: lr-wpan-mac.h:58
ns3::LrWpanMac::m_superframeDuration
uint32_t m_superframeDuration
Indication of the superframe duration in symbols.
Definition: lr-wpan-mac.h:876
ns3::MlmeStartRequestParams::m_coorRealgn
bool m_coorRealgn
True if a realignment request command is to be transmitted prior changing the superframe.
Definition: lr-wpan-mac.h:309
ns3::LrWpanMac::m_phy
Ptr< LrWpanPhy > m_phy
The PHY associated with this MAC.
Definition: lr-wpan-mac.h:1225
ns3::LrWpanMac::GetMacMaxFrameRetries
uint8_t GetMacMaxFrameRetries(void) const
Get the macMaxFrameRetries attribute value.
Definition: lr-wpan-mac.cc:1831
ns3::MlmePollRequestParams::m_coorShortAddr
Mac16Address m_coorShortAddr
Coordintator short address.
Definition: lr-wpan-mac.h:340
ns3::LrWpanMac::m_macAutoRequest
bool m_macAutoRequest
Indication of whether a device automatically sends data request command if its address is listed in t...
Definition: lr-wpan-mac.h:858
ns3::Mac16Address
This class can contain 16 bit addresses.
Definition: mac16-address.h:42
ns3::LrWpanMac::m_macTransactionPersistanceTime
uint16_t m_macTransactionPersistanceTime
The maximum time (in superframe periods) that a transaction is stored by a coordinator and indicated ...
Definition: lr-wpan-mac.h:781
ns3::McpsDataRequestParams::m_dstAddrMode
LrWpanAddressMode m_dstAddrMode
Destination address mode.
Definition: lr-wpan-mac.h:247
ns3::LrWpanMac::m_incCapEvent
EventId m_incCapEvent
Scheduler event for the end of the incoming superframe CAP.
Definition: lr-wpan-mac.h:1339
ns3::MLMESTART_TRACKING_OFF
@ MLMESTART_TRACKING_OFF
Definition: lr-wpan-mac.h:190
ns3::LrWpanMac::m_ifs
uint32_t m_ifs
The value of the necessary InterFrame Space after the transmission of a packet.
Definition: lr-wpan-mac.h:862
ns3::McpsDataRequestParams::m_dstPanId
uint16_t m_dstPanId
Destination PAN identifier.
Definition: lr-wpan-mac.h:248
ns3::LrWpanMac::m_macTxTrace
TracedCallback< Ptr< const Packet > > m_macTxTrace
The trace source fired when packets are being sent down to L1.
Definition: lr-wpan-mac.h:1134
ns3::LrWpanMac::m_beaconEvent
EventId m_beaconEvent
Scheduler event for generation of one beacon.
Definition: lr-wpan-mac.h:1327
ns3::LrWpanMac::GetShortAddress
Mac16Address GetShortAddress(void) const
Get the short address of this MAC.
Definition: lr-wpan-mac.cc:280
ns3::MlmeSyncLossIndicationCallback
Callback< void, MlmeSyncLossIndicationParams > MlmeSyncLossIndicationCallback
This callback is called to indicate the loss of synchronization with a coordinator.
Definition: lr-wpan-mac.h:434
ns3::MLMESYNCLOSS_SUPERFRAME_OVERLAP
@ MLMESYNCLOSS_SUPERFRAME_OVERLAP
Definition: lr-wpan-mac.h:209
ns3::McpsDataIndicationCallback
Callback< void, McpsDataIndicationParams, Ptr< Packet > > McpsDataIndicationCallback
This callback is called after a Mcps has successfully received a frame and wants to deliver it to the...
Definition: lr-wpan-mac.h:406
ns3::MlmeStartConfirmCallback
Callback< void, MlmeStartConfirmParams > MlmeStartConfirmCallback
This callback is called after a MlmeStartRequest has been called from the higher layer.
Definition: lr-wpan-mac.h:414
ns3::LrWpanMac::m_beaconInterval
uint32_t m_beaconInterval
Indication of the Interval used by the coordinator to transmit beacon frames expressed in symbols.
Definition: lr-wpan-mac.h:871
ns3::DISASSOCIATED
@ DISASSOCIATED
Definition: lr-wpan-mac.h:156
ns3::EXT_ADDR
@ EXT_ADDR
Definition: lr-wpan-mac.h:142
ns3::LrWpanMac::m_mlmePollConfirmCallback
MlmePollConfirmCallback m_mlmePollConfirmCallback
This callback is used to report the status after a device send data command request to the coordinato...
Definition: lr-wpan-mac.h:1245
ns3::MLMESTART_UNSUPPORTED_SECURITY
@ MLMESTART_UNSUPPORTED_SECURITY
Definition: lr-wpan-mac.h:195
ns3::LrWpanMac::SetMacMaxFrameRetries
void SetMacMaxFrameRetries(uint8_t retries)
Set the macMaxFrameRetries attribute value.
Definition: lr-wpan-mac.cc:1843
ns3::MLMEPOLL_NO_ACK
@ MLMEPOLL_NO_ACK
Definition: lr-wpan-mac.h:222
ns3::MLMEPOLL_NO_DATA
@ MLMEPOLL_NO_DATA
Definition: lr-wpan-mac.h:223
ns3::SuperframeField
Represent the Superframe Specification information field.
Definition: lr-wpan-fields.h:55
third.mac
mac
Definition: third.py:99
ns3::MlmeStartRequestParams
MLME-START.request params.
Definition: lr-wpan-mac.h:289
ns3::MlmeStartRequestParams::m_battLifeExt
bool m_battLifeExt
Flag indicating whether or not the Battery life extension (BLE) features are used.
Definition: lr-wpan-mac.h:308
ns3::MlmeBeaconNotifyIndicationParams
MLME-BEACON-NOTIFY.indication params.
Definition: lr-wpan-mac.h:360
ns3::LrWpanMac::m_indTxQueue
std::deque< IndTxQueueElement * > m_indTxQueue
The indirect transmit queue used by the MAC pending messages.
Definition: lr-wpan-mac.h:1301
ns3::LrWpanMac::GetIfsSize
uint32_t GetIfsSize()
Get the size of the Interframe Space according to MPDU size (m_txPkt).
Definition: lr-wpan-mac.cc:1870
ns3::LrWpanMac::m_panCoor
bool m_panCoor
Indication of whether the current device is the PAN coordinator.
Definition: lr-wpan-mac.h:866
ns3::Mac64Address
an EUI-64 address
Definition: mac64-address.h:44
ns3::MLMESYNCLOSS_REALIGMENT
@ MLMESYNCLOSS_REALIGMENT
Definition: lr-wpan-mac.h:207
ns3::LrWpanMac::m_incomingBeaconOrder
uint8_t m_incomingBeaconOrder
The beaconOrder value of the INCOMING frame.
Definition: lr-wpan-mac.h:796
ns3::McpsDataRequestParams::m_txOptions
uint8_t m_txOptions
Tx Options (bitfield)
Definition: lr-wpan-mac.h:252
ns3::McpsDataRequestParams::m_dstExtAddr
Mac64Address m_dstExtAddr
Destination extended address.
Definition: lr-wpan-mac.h:250
ns3::LrWpanMac::GetGtsFields
GtsFields GetGtsFields(void)
Constructs the Guaranteed Time Slots (GTS) Fields from local information.
Definition: lr-wpan-mac.cc:945
ns3::LrWpanMac::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: lr-wpan-mac.cc:58
ns3::MlmeStartRequestParams::m_sfrmOrd
uint8_t m_sfrmOrd
Superframe Order, indicates the length of the CAP in time slots.
Definition: lr-wpan-mac.h:306
ns3::MlmePollRequestParams
MLME-POLL.request params.
Definition: lr-wpan-mac.h:331
ns3::LrWpanMac::m_lrWpanMacState
TracedValue< LrWpanMacState > m_lrWpanMacState
The current state of the MAC layer.
Definition: lr-wpan-mac.h:1266
ns3::LrWpanMac::aMinMPDUOverhead
static const uint32_t aMinMPDUOverhead
The minimum number of octets added by the MAC sublayer to the PSDU.
Definition: lr-wpan-mac.h:462
ns3::LrWpanMac::SetMlmeBeaconNotifyIndicationCallback
void SetMlmeBeaconNotifyIndicationCallback(MlmeBeaconNotifyIndicationCallback c)
Set the callback for the indication of an incoming beacon packet.
Definition: lr-wpan-mac.cc:1001
ns3::LrWpanMac::SetPhy
void SetPhy(Ptr< LrWpanPhy > phy)
Set the underlying PHY for the MAC.
Definition: lr-wpan-mac.cc:971
ns3::LrWpanMac::m_macRxOnWhenIdle
bool m_macRxOnWhenIdle
Indication of whether the MAC sublayer is to enable its receiver during idle periods.
Definition: lr-wpan-mac.h:840
ns3::LrWpanAddressMode
LrWpanAddressMode
table 80 of 802.15.4
Definition: lr-wpan-mac.h:138
ns3::LrWpanMac::m_macTxDropTrace
TracedCallback< Ptr< const Packet > > m_macTxDropTrace
The trace source fired when packets are dropped due to missing ACKs or because of transmission failur...
Definition: lr-wpan-mac.h:1149
ns3::MlmePollConfirmParams
MLME-START.confirm params.
Definition: lr-wpan-mac.h:386
ns3::LrWpanMac::IndTxQueueElement
Helper structure for managing indirect transmission queue elements.
Definition: lr-wpan-mac.h:996
ns3::MAC_GTS
@ MAC_GTS
MAC_GTS.
Definition: lr-wpan-mac.h:78
ns3::MLMEPOLL_FRAME_TOO_LONG
@ MLMEPOLL_FRAME_TOO_LONG
Definition: lr-wpan-mac.h:225
ns3::LrWpanMac::isTxAckReq
bool isTxAckReq(void)
Check if the packet to transmit requires acknowledgment.
Definition: lr-wpan-mac.cc:1907
ns3::LrWpanPibAttributeIdentifier
LrWpanPibAttributeIdentifier
IEEE802.15.4-2006 PHY PIB Attribute Identifiers Table 23 in section 6.4.2.
Definition: lr-wpan-phy.h:141
ns3::LrWpanMac::m_macBeaconTxTime
Time m_macBeaconTxTime
The time that the device transmitted its last beacon frame.
Definition: lr-wpan-mac.h:735
ns3::LrWpanMac::m_txPkt
Ptr< Packet > m_txPkt
The packet which is currently being sent by the MAC layer.
Definition: lr-wpan-mac.h:1282
ns3::Ptr< Packet >
ns3::LrWpanMac::SetShortAddress
void SetShortAddress(Mac16Address address)
Set the short address of this MAC.
Definition: lr-wpan-mac.cc:265
ns3::MlmePollRequestParams::m_coorPanId
uint16_t m_coorPanId
The PAN id of the coordinator to which the poll is intended.
Definition: lr-wpan-mac.h:339
ns3::MlmePollRequestParams::m_coorExtAddr
Mac64Address m_coorExtAddr
Coordinator extended address.
Definition: lr-wpan-mac.h:341
ns3::LrWpanMac::m_macStateLogger
TracedCallback< LrWpanMacState, LrWpanMacState > m_macStateLogger
A trace source that fires when the LrWpanMac changes states.
Definition: lr-wpan-mac.h:1221
ns3::LrWpanMac::m_macSyncSymbolOffset
uint64_t m_macSyncSymbolOffset
Symbol boundary is same as m_macBeaconTxTime.
Definition: lr-wpan-mac.h:761
ns3::MLMEPOLL_SUCCESS
@ MLMEPOLL_SUCCESS
Definition: lr-wpan-mac.h:220
ns3::LrWpanMac::IndTxQueueElement::txQPkt
Ptr< Packet > txQPkt
Queued packet.
Definition: lr-wpan-mac.h:998
ns3::SET_PHY_TX_ON
@ SET_PHY_TX_ON
SET_PHY_TX_ON.
Definition: lr-wpan-mac.h:77
ns3::MlmePollConfirmParams::m_status
LrWpanMlmePollConfirmStatus m_status
The confirmation status resulting from a MLME-poll.request.
Definition: lr-wpan-mac.h:387
ns3::IEEE_802_15_4_NO_ACK
@ IEEE_802_15_4_NO_ACK
Definition: lr-wpan-mac.h:172
ns3::LrWpanMac::aMaxSIFSFrameSize
static const uint32_t aMaxSIFSFrameSize
The maximum size of an MPDU, in octets, that can be followed by a Short InterFrame Spacing (SIFS) per...
Definition: lr-wpan-mac.h:492
ns3::McpsDataConfirmParams
MCPS-DATA.confirm params.
Definition: lr-wpan-mac.h:261
ns3::LrWpanMac::PlmeSetAttributeConfirm
void PlmeSetAttributeConfirm(LrWpanPhyEnumeration status, LrWpanPibAttributeIdentifier id)
IEEE 802.15.4-2006 section 6.2.2.10 PLME-SET.confirm Set attributes per definition from Table 23 in s...
Definition: lr-wpan-mac.cc:1718
ns3::MlmeSyncRequestParams::MlmeSyncRequestParams
MlmeSyncRequestParams()
Definition: lr-wpan-mac.h:318
ns3::McpsDataIndicationParams::m_srcAddr
Mac16Address m_srcAddr
Source address.
Definition: lr-wpan-mac.h:274
ns3::PAN_ACCESS_DENIED
@ PAN_ACCESS_DENIED
Definition: lr-wpan-mac.h:154
ns3::LrWpanMac::CheckQueue
void CheckQueue(void)
Check the transmission queue.
Definition: lr-wpan-mac.cc:898
ns3::TX_OPTION_GTS
@ TX_OPTION_GTS
TX_OPTION_GTS.
Definition: lr-wpan-mac.h:60
ns3::MlmeStartRequestParams::m_logChPage
uint32_t m_logChPage
Logical channel page on which to start using the new superframe configuration.
Definition: lr-wpan-mac.h:303
ns3::MAC_INACTIVE
@ MAC_INACTIVE
MAC_INACTIVE.
Definition: lr-wpan-mac.h:79
ns3::MlmeStartRequestParams::m_startTime
uint32_t m_startTime
Time at which to begin transmitting beacons (Used by Coordinator not PAN Coordinators).
Definition: lr-wpan-mac.h:304
ns3::McpsDataConfirmParams::m_msduHandle
uint8_t m_msduHandle
MSDU handle.
Definition: lr-wpan-mac.h:262
ns3::MlmePollRequestParams::m_coorAddrMode
LrWpanAddressMode m_coorAddrMode
The addressing mode of the coordinator to which the pool is intended.
Definition: lr-wpan-mac.h:338
ns3::LrWpanMac::PlmeSetTRXStateConfirm
void PlmeSetTRXStateConfirm(LrWpanPhyEnumeration status)
IEEE 802.15.4-2006 section 6.2.2.8 PLME-SET-TRX-STATE.confirm Set PHY state.
Definition: lr-wpan-mac.cc:1674
ns3::Object
A base class which provides memory management and object aggregation.
Definition: object.h:88
ns3::McpsDataIndicationParams::m_srcPanId
uint16_t m_srcPanId
Source PAN identifier.
Definition: lr-wpan-mac.h:273
ns3::NO_PANID_ADDR
@ NO_PANID_ADDR
Definition: lr-wpan-mac.h:139
ns3::LrWpanMacState
LrWpanMacState
MAC states.
Definition: lr-wpan-mac.h:70
ns3::LrWpanAssociationStatus
LrWpanAssociationStatus
table 83 of 802.15.4
Definition: lr-wpan-mac.h:151
ns3::MLMESYNCLOSS_BEACON_LOST
@ MLMESYNCLOSS_BEACON_LOST
Definition: lr-wpan-mac.h:208
ns3::MlmeStartRequestParams::m_bcnOrd
uint8_t m_bcnOrd
Beacon Order, Used to calculate the beacon interval, a value of 15 indicates no periodic beacons will...
Definition: lr-wpan-mac.h:305
ns3::LrWpanMac::MlmeStartRequest
void MlmeStartRequest(MlmeStartRequestParams params)
IEEE 802.15.4-2006, section 7.1.14.1 MLME-START.request Request to allow a PAN coordinator to initiat...
Definition: lr-wpan-mac.cc:516
ns3::MAC_CSMA_DEFERRED
@ MAC_CSMA_DEFERRED
MAC_CSMA_DEFERRED.
Definition: lr-wpan-mac.h:80
ns3::MlmeStartRequestParams::m_PanId
uint16_t m_PanId
Pan Identifier used by the device.
Definition: lr-wpan-mac.h:301
ns3::MLMEPOLL_UNSUPPORTED_SECURITY
@ MLMEPOLL_UNSUPPORTED_SECURITY
Definition: lr-wpan-mac.h:227
ns3::LrWpanMac::PlmeGetAttributeConfirm
void PlmeGetAttributeConfirm(LrWpanPhyEnumeration status, LrWpanPibAttributeIdentifier id, LrWpanPhyPibAttributes *attribute)
IEEE 802.15.4-2006 section 6.2.2.6 PLME-GET.confirm Get attributes per definition from Table 23 in se...
Definition: lr-wpan-mac.cc:1666
ns3::LrWpanMac::GetExtendedAddress
Mac64Address GetExtendedAddress(void) const
Get the extended address of this MAC.
Definition: lr-wpan-mac.cc:287
ns3::LrWpanMac::m_ifsEvent
EventId m_ifsEvent
Scheduler event for Interframe spacing wait time.
Definition: lr-wpan-mac.h:1323
ns3::MLMESTART_CHANNEL_ACCESS_FAILURE
@ MLMESTART_CHANNEL_ACCESS_FAILURE
Definition: lr-wpan-mac.h:196
ns3::LrWpanMac::SetExtendedAddress
void SetExtendedAddress(Mac64Address address)
Set the extended address of this MAC.
Definition: lr-wpan-mac.cc:272
ns3::MlmeBeaconNotifyIndicationParams::m_bsn
uint8_t m_bsn
The beacon sequence number.
Definition: lr-wpan-mac.h:361
ns3::LrWpanMac::TxQueueElement
Helper structure for managing transmission queue elements.
Definition: lr-wpan-mac.h:987
ns3::LrWpanPhyEnumeration
LrWpanPhyEnumeration
IEEE802.15.4-2006 PHY Emumerations Table 18 in section 6.2.3.
Definition: lr-wpan-phy.h:106
ns3::LrWpanMac::m_incomingSuperframeDuration
uint32_t m_incomingSuperframeDuration
Indication of the superframe duration in symbols (e.g.
Definition: lr-wpan-mac.h:886
ns3::LrWpanMac::m_macBeaconOrder
uint8_t m_macBeaconOrder
Used by a PAN coordinator or coordinator.
Definition: lr-wpan-mac.h:768
ns3::LrWpanMac::GetTxPacketSymbols
uint64_t GetTxPacketSymbols(void)
Obtain the number of symbols in the packet which is currently being sent by the MAC layer.
Definition: lr-wpan-mac.cc:1898
ns3::LrWpanMac::m_macPanId
uint16_t m_macPanId
16 bits id of PAN on which this device is operating.
Definition: lr-wpan-mac.h:819
ns3::MLMESTART_SUPERFRAME_OVERLAP
@ MLMESTART_SUPERFRAME_OVERLAP
Definition: lr-wpan-mac.h:189
ns3::LrWpanMac::PlmeCcaConfirm
void PlmeCcaConfirm(LrWpanPhyEnumeration status)
IEEE 802.15.4-2006 section 6.2.2.2 PLME-CCA.confirm status.
Definition: lr-wpan-mac.cc:1651
ns3::LrWpanMac::m_txQueue
std::deque< TxQueueElement * > m_txQueue
The transmit queue used by the MAC.
Definition: lr-wpan-mac.h:1297
ns3::McpsDataIndicationParams::m_srcExtAddr
Mac64Address m_srcExtAddr
Source extended address.
Definition: lr-wpan-mac.h:275
ns3::LrWpanMac::m_setMacState
EventId m_setMacState
Scheduler event for a deferred MAC state change.
Definition: lr-wpan-mac.h:1319
ns3::LrWpanMac::SentTracedCallback
void(* SentTracedCallback)(Ptr< const Packet > packet, uint8_t retries, uint8_t backoffs)
TracedCallback signature for sent packets.
Definition: lr-wpan-mac.h:964
ns3::LrWpanMac::m_macTxEnqueueTrace
TracedCallback< Ptr< const Packet > > m_macTxEnqueueTrace
The trace source fired when packets come into the "top" of the device at the L3/L2 transition,...
Definition: lr-wpan-mac.h:1121
ns3::CHANNEL_ACCESS_FAILURE
@ CHANNEL_ACCESS_FAILURE
CHANNEL_ACCESS_FAILURE.
Definition: lr-wpan-mac.h:75
ns3::OUTGOING
@ OUTGOING
Outgoing Superframe.
Definition: lr-wpan-mac.h:103
ns3::LrWpanMlmePollConfirmStatus
LrWpanMlmePollConfirmStatus
Table 39 of IEEE 802.15.4-2011.
Definition: lr-wpan-mac.h:219
first.address
address
Definition: first.py:44
ns3::LrWpanMac::m_numLostBeacons
uint8_t m_numLostBeacons
The number of consecutive loss beacons in a beacon tracking operation.
Definition: lr-wpan-mac.h:898
ns3::LrWpanMac::SetRxOnWhenIdle
void SetRxOnWhenIdle(bool rxOnWhenIdle)
Set if the receiver should be enabled when the MAC is idle.
Definition: lr-wpan-mac.cc:246
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:104
ns3::LrWpanMac::m_macPromiscRxTrace
TracedCallback< Ptr< const Packet > > m_macPromiscRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
Definition: lr-wpan-mac.h:1157
ns3::GtsFields
Represent the GTS information fields.
Definition: lr-wpan-fields.h:176
ns3::IEEE_802_15_4_UNSUPPORTED_SECURITY
@ IEEE_802_15_4_UNSUPPORTED_SECURITY
Definition: lr-wpan-mac.h:176
ns3::LrWpanMac::m_rxBeaconSymbols
uint64_t m_rxBeaconSymbols
The total size of the received beacon in symbols.
Definition: lr-wpan-mac.h:786
ns3::LrWpanMac::m_macRxTrace
TracedCallback< Ptr< const Packet > > m_macRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
Definition: lr-wpan-mac.h:1165
ns3::LrWpanMac::TxQueueElement::txQPkt
Ptr< Packet > txQPkt
Queued packet.
Definition: lr-wpan-mac.h:989
ns3::LrWpanMac::isCoordDest
bool isCoordDest(void)
Check if the packet destination is its coordinator.
Definition: lr-wpan-mac.cc:1849
ns3::LrWpanMac::GetSuperframeField
SuperframeField GetSuperframeField(void)
Constructs a Superframe specification field from the local information, the superframe Specification ...
Definition: lr-wpan-mac.cc:920
ns3::LrWpanMac::m_deviceCapability
uint8_t m_deviceCapability
Indication of current device capability (FFD or RFD)
Definition: lr-wpan-mac.h:890
ns3::INCOMING
@ INCOMING
Incoming Superframe.
Definition: lr-wpan-mac.h:104
ns3::MlmeStartRequestParams::m_logCh
uint8_t m_logCh
Logical channel on which to start using the new superframe configuration.
Definition: lr-wpan-mac.h:302
ns3::MlmeSyncRequestParams::m_trackBcn
bool m_trackBcn
True if the mlme sync with the next beacon and attempts to track future beacons.
Definition: lr-wpan-mac.h:323
ns3::LrWpanMac::MlmePollRequest
void MlmePollRequest(MlmePollRequestParams params)
IEEE 802.15.4-2011, section 6.2.14.2 MLME-POLL.request Prompts the device to request data from the co...
Definition: lr-wpan-mac.cc:652
ns3::MlmeSyncLossIndicationParams
MLME-SYNC-LOSS.indication params.
Definition: lr-wpan-mac.h:375
ns3::LrWpanMac::m_macMaxFrameRetries
uint8_t m_macMaxFrameRetries
The maximum number of retries allowed after a transmission failure.
Definition: lr-wpan-mac.h:834
ns3::LrWpanMac::PrepareRetransmission
bool PrepareRetransmission(void)
Check for remaining retransmissions for the packet currently being sent.
Definition: lr-wpan-mac.cc:1504
ns3::LrWpanMac::IndTxQueueElement::expireTime
Time expireTime
The expiration time of the packet in the indirect transmission queue.
Definition: lr-wpan-mac.h:999
ns3::LrWpanMac::GetPhy
Ptr< LrWpanPhy > GetPhy(void)
Get the underlying PHY of the MAC.
Definition: lr-wpan-mac.cc:977
ns3::CAP
@ CAP
Contention Access Period.
Definition: lr-wpan-mac.h:91
ns3::LrWpanMac::m_numCsmacaRetry
uint8_t m_numCsmacaRetry
The number of CSMA/CA retries used for sending the current packet.
Definition: lr-wpan-mac.h:1310
ns3::IEEE_802_15_4_UNAVAILABLE_KEY
@ IEEE_802_15_4_UNAVAILABLE_KEY
Definition: lr-wpan-mac.h:175
ns3::LrWpanMac::SetMcpsDataConfirmCallback
void SetMcpsDataConfirmCallback(McpsDataConfirmCallback c)
Set the callback for the confirmation of a data transmission request.
Definition: lr-wpan-mac.cc:989
ns3::LrWpanMac::SetMlmePollConfirmCallback
void SetMlmePollConfirmCallback(MlmePollConfirmCallback c)
Set the callback for the confirmation of a data transmission request.
Definition: lr-wpan-mac.cc:1013
ns3::LrWpanMac::SetCsmaCa
void SetCsmaCa(Ptr< LrWpanCsmaCa > csmaCa)
Set the CSMA/CA implementation to be used by the MAC.
Definition: lr-wpan-mac.cc:965
ns3::LrWpanMac::m_mlmeStartConfirmCallback
MlmeStartConfirmCallback m_mlmeStartConfirmCallback
This callback is used to report the start of a new PAN or the begin of a new superframe configuration...
Definition: lr-wpan-mac.h:1251
ns3::LrWpanMac::m_shortAddress
Mac16Address m_shortAddress
The short address used by this MAC.
Definition: lr-wpan-mac.h:1288
ns3::LrWpanMac::GetMacAckWaitDuration
uint64_t GetMacAckWaitDuration(void) const
Get the macAckWaitDuration attribute value.
Definition: lr-wpan-mac.cc:1824
ns3::BEACON
@ BEACON
The Beacon transmission or reception Period.
Definition: lr-wpan-mac.h:90
ns3::LrWpanMac::IfsWaitTimeout
void IfsWaitTimeout(Time ifsTime)
After a successful transmission of a frame (beacon, data) or an ack frame reception,...
Definition: lr-wpan-mac.cc:1479
ns3::LrWpanMac::TxQueueElement::txQMsduHandle
uint8_t txQMsduHandle
MSDU Handle.
Definition: lr-wpan-mac.h:988
ns3::LrWpanMac::SetPanId
void SetPanId(uint16_t panId)
Set the PAN id used by this MAC.
Definition: lr-wpan-mac.cc:1808
ns3::MlmeBeaconNotifyIndicationCallback
Callback< void, MlmeBeaconNotifyIndicationParams, Ptr< Packet > > MlmeBeaconNotifyIndicationCallback
This callback is called after a Mlme has successfully received a beacon frame and wants to deliver it...
Definition: lr-wpan-mac.h:424
ns3::LrWpanMac::PdDataIndication
void PdDataIndication(uint32_t psduLength, Ptr< Packet > p, uint8_t lqi)
IEEE 802.15.4-2006 section 6.2.1.3 PD-DATA.indication Indicates the transfer of an MPDU from PHY to M...
Definition: lr-wpan-mac.cc:1019
ns3::MAC_SENDING
@ MAC_SENDING
MAC_SENDING.
Definition: lr-wpan-mac.h:73
ns3::LrWpanMac::aMaxLostBeacons
static const uint32_t aMaxLostBeacons
The number of consecutive lost beacons that will cause the MAC sublayer of a receiving device to decl...
Definition: lr-wpan-mac.h:486
ns3::LrWpanMac::SendAck
void SendAck(uint8_t seqno)
Send an acknowledgment packet for the given sequence number.
Definition: lr-wpan-mac.cc:1407
ns3::LrWpanMac::m_selfExt
Mac64Address m_selfExt
The extended address used by this MAC.
Definition: lr-wpan-mac.h:1293
ns3::LrWpanMac::m_csmaCa
Ptr< LrWpanCsmaCa > m_csmaCa
The CSMA/CA implementation used by this MAC.
Definition: lr-wpan-mac.h:1229
ns3::LrWpanMac::SendOneBeacon
void SendOneBeacon(void)
Called to send a single beacon frame.
Definition: lr-wpan-mac.cc:666
ns3::IEEE_802_15_4_SUCCESS
@ IEEE_802_15_4_SUCCESS
Definition: lr-wpan-mac.h:166
ns3::LrWpanMac::m_macTxDequeueTrace
TracedCallback< Ptr< const Packet > > m_macTxDequeueTrace
The trace source fired when packets are dequeued from the L3/l2 transmission queue.
Definition: lr-wpan-mac.h:1128
ns3::McpsDataIndicationParams::m_dstAddr
Mac16Address m_dstAddr
Destination address.
Definition: lr-wpan-mac.h:278
ns3::MAC_ACK_PENDING
@ MAC_ACK_PENDING
MAC_ACK_PENDING.
Definition: lr-wpan-mac.h:74
ns3::MLMESTART_NO_SHORT_ADDRESS
@ MLMESTART_NO_SHORT_ADDRESS
Definition: lr-wpan-mac.h:188
ns3::LrWpanMac::m_sentPktTrace
TracedCallback< Ptr< const Packet >, uint8_t, uint8_t > m_sentPktTrace
The trace source fired when packets are considered as successfully sent or the transmission has been ...
Definition: lr-wpan-mac.h:1114
ns3::LrWpanMac::SetMcpsDataIndicationCallback
void SetMcpsDataIndicationCallback(McpsDataIndicationCallback c)
Set the callback for the indication of an incoming data packet.
Definition: lr-wpan-mac.cc:983
ns3::LrWpanMac::m_promiscSnifferTrace
TracedCallback< Ptr< const Packet > > m_promiscSnifferTrace
A trace source that emulates a promiscuous mode protocol sniffer connected to the device.
Definition: lr-wpan-mac.h:1212
ns3::LrWpanMac::SetLrWpanMacState
void SetLrWpanMacState(LrWpanMacState macState)
CSMA-CA algorithm calls back the MAC after executing channel assessment.
Definition: lr-wpan-mac.cc:1725
ns3::MLMEPOLL_COUNTER_ERROR
@ MLMEPOLL_COUNTER_ERROR
Definition: lr-wpan-mac.h:224
ns3::LrWpanMac::AckWaitTimeout
void AckWaitTimeout(void)
Handle an ACK timeout with a packet retransmission, if there are retransmission left,...
Definition: lr-wpan-mac.cc:1461
ns3::McpsDataIndicationParams
MCPS-DATA.indication params.
Definition: lr-wpan-mac.h:271
ns3::LrWpanMac::StateTracedCallback
void(* StateTracedCallback)(LrWpanMacState oldState, LrWpanMacState newState)
TracedCallback signature for LrWpanMacState change events.
Definition: lr-wpan-mac.h:975
ns3::LrWpanMac::SetAssociationStatus
void SetAssociationStatus(LrWpanAssociationStatus status)
Set the current association status.
Definition: lr-wpan-mac.cc:1796
ns3::IEEE_802_15_4_COUNTER_ERROR
@ IEEE_802_15_4_COUNTER_ERROR
Definition: lr-wpan-mac.h:173
ns3::LrWpanMac::PlmeEdConfirm
void PlmeEdConfirm(LrWpanPhyEnumeration status, uint8_t energyLevel)
IEEE 802.15.4-2006 section 6.2.2.4 PLME-ED.confirm status and energy level.
Definition: lr-wpan-mac.cc:1659
ns3::McpsDataRequestParams::McpsDataRequestParams
McpsDataRequestParams()
Definition: lr-wpan-mac.h:238
ns3::TracedValue< LrWpanMacState >
ns3::MlmeSyncLossIndicationParams::m_panId
uint16_t m_panId
The PAN identifier with which the device lost synchronization or to which it was realigned.
Definition: lr-wpan-mac.h:377
ns3::MlmePollRequestParams::MlmePollRequestParams
MlmePollRequestParams()
Definition: lr-wpan-mac.h:332
ns3::MLMEPOLL_CHANNEL_ACCESS_FAILURE
@ MLMEPOLL_CHANNEL_ACCESS_FAILURE
Definition: lr-wpan-mac.h:221
ns3::LrWpanSyncLossReason
LrWpanSyncLossReason
Table 37 of IEEE 802.15.4-2011.
Definition: lr-wpan-mac.h:205
ns3::McpsDataIndicationParams::m_dstAddrMode
uint8_t m_dstAddrMode
Destination address mode.
Definition: lr-wpan-mac.h:276
ns3::MlmeSyncLossIndicationParams::m_logCh
uint8_t m_logCh
The channel number on which the device lost synchronization or to which it was realigned.
Definition: lr-wpan-mac.h:378
ns3::LrWpanMac::m_outSuperframeStatus
TracedValue< SuperframeStatus > m_outSuperframeStatus
The current period of the outgoing superframe.
Definition: lr-wpan-mac.h:1274
ns3::McpsDataConfirmParams::m_status
LrWpanMcpsDataConfirmStatus m_status
The status of the last MSDU transmission.
Definition: lr-wpan-mac.h:263
ns3::MAC_IDLE
@ MAC_IDLE
MAC_IDLE.
Definition: lr-wpan-mac.h:71
ns3::LrWpanMac::m_cfpEvent
EventId m_cfpEvent
Scheduler event for the end of the outgoing superframe CFP.
Definition: lr-wpan-mac.h:1335
ns3::INACTIVE
@ INACTIVE
Inactive Period or unslotted CSMA-CA.
Definition: lr-wpan-mac.h:93
ns3::LrWpanMac::~LrWpanMac
virtual ~LrWpanMac(void)
Definition: lr-wpan-mac.cc:197
ns3::LrWpanMac::GetPendingAddrFields
PendingAddrFields GetPendingAddrFields(void)
Constructs Pending Address Fields from the local information, the Pending Address Fields are part of ...
Definition: lr-wpan-mac.cc:955
ns3::McpsDataIndicationParams::m_srcAddrMode
uint8_t m_srcAddrMode
Source address mode.
Definition: lr-wpan-mac.h:272
ns3::LrWpanMac::LrWpanMac
LrWpanMac(void)
Default constructor.
Definition: lr-wpan-mac.cc:152
ns3::LrWpanMac::StartCAP
void StartCAP(SuperframeType superframeType)
Called to begin the Contention Access Period (CAP) in a beacon-enabled mode.
Definition: lr-wpan-mac.cc:724
ns3::McpsDataRequestParams::m_srcAddrMode
LrWpanAddressMode m_srcAddrMode
Source address mode.
Definition: lr-wpan-mac.h:246
ns3::LrWpanMac::m_ackWaitTimeout
EventId m_ackWaitTimeout
Scheduler event for the ACK timeout of the currently transmitted data packet.
Definition: lr-wpan-mac.h:1315
ns3::LrWpanMcpsDataConfirmStatus
LrWpanMcpsDataConfirmStatus
Table 42 of 802.15.4-2006.
Definition: lr-wpan-mac.h:165
ns3::MLMESTART_FRAME_TOO_LONG
@ MLMESTART_FRAME_TOO_LONG
Definition: lr-wpan-mac.h:193
ns3::LrWpanMac::m_mcpsDataIndicationCallback
McpsDataIndicationCallback m_mcpsDataIndicationCallback
This callback is used to notify incoming packets to the upper layers.
Definition: lr-wpan-mac.h:1256
ns3::MLMESYNCLOSS_PAN_ID_CONFLICT
@ MLMESYNCLOSS_PAN_ID_CONFLICT
Definition: lr-wpan-mac.h:206
ns3::LrWpanMac::m_macTxOkTrace
TracedCallback< Ptr< const Packet > > m_macTxOkTrace
The trace source fired when packets where successfully transmitted, that is an acknowledgment was rec...
Definition: lr-wpan-mac.h:1142
ns3::MLMESTART_COUNTER_ERROR
@ MLMESTART_COUNTER_ERROR
Definition: lr-wpan-mac.h:192
ns3::LrWpanMac::m_fnlCapSlot
uint8_t m_fnlCapSlot
Indication of the Slot where the CAP portion of the OUTGOING Superframe ends.
Definition: lr-wpan-mac.h:790
ns3::LrWpanMac::BeaconSearchTimeout
void BeaconSearchTimeout(void)
Called if the device is unable to locate a beacon in the time set by MLME-SYNC.request.
Definition: lr-wpan-mac.cc:867
ns3::TX_OPTION_INDIRECT
@ TX_OPTION_INDIRECT
TX_OPTION_INDIRECT.
Definition: lr-wpan-mac.h:61
ns3::LrWpanMac::GetPanId
uint16_t GetPanId(void) const
Get the PAN id used by this MAC.
Definition: lr-wpan-mac.cc:1802
ns3::LrWpanMac::m_macSuperframeOrder
uint8_t m_macSuperframeOrder
Used by a PAN coordinator or coordinator.
Definition: lr-wpan-mac.h:775
ns3::IEEE_802_15_4_TRANSACTION_OVERFLOW
@ IEEE_802_15_4_TRANSACTION_OVERFLOW
Definition: lr-wpan-mac.h:167
ns3::LrWpanMac::m_capEvent
EventId m_capEvent
Scheduler event for the end of the outgoing superframe CAP.
Definition: lr-wpan-mac.h:1331
ns3::McpsDataRequestParams::m_dstAddr
Mac16Address m_dstAddr
Destination address.
Definition: lr-wpan-mac.h:249
ns3::LrWpanMac::PdDataConfirm
void PdDataConfirm(LrWpanPhyEnumeration status)
IEEE 802.15.4-2006 section 6.2.1.2 Confirm the end of transmission of an MPDU to MAC.
Definition: lr-wpan-mac.cc:1534
ns3::SHORT_ADDR
@ SHORT_ADDR
Definition: lr-wpan-mac.h:141
ns3::LrWpanMac::m_mlmeSyncLossIndicationCallback
MlmeSyncLossIndicationCallback m_mlmeSyncLossIndicationCallback
This callback is used to indicate the loss of synchronization with a coordinator.
Definition: lr-wpan-mac.h:1239
ns3::LrWpanMac::StartInactivePeriod
void StartInactivePeriod(SuperframeType superframeType)
Start the Inactive Period in a beacon-enabled mode.
Definition: lr-wpan-mac.cc:817
ns3::TracedCallback
Forward calls to a chain of Callback.
Definition: traced-callback.h:53
ns3::LrWpanMac::m_macBsn
SequenceNumber8 m_macBsn
Sequence number added to transmitted beacon frame, 00-ff.
Definition: lr-wpan-mac.h:829
ns3::LrWpanMac::SetMlmeSyncLossIndicationCallback
void SetMlmeSyncLossIndicationCallback(MlmeSyncLossIndicationCallback c)
Set the callback for the loss of synchronization with a coordinator.
Definition: lr-wpan-mac.cc:1007
ns3::LrWpanMac::m_incSuperframeStatus
TracedValue< SuperframeStatus > m_incSuperframeStatus
The current period of the incoming superframe.
Definition: lr-wpan-mac.h:1270
ns3::MlmeSyncRequestParams
MLME-SYNC.request params.
Definition: lr-wpan-mac.h:317
ns3::McpsDataConfirmCallback
Callback< void, McpsDataConfirmParams > McpsDataConfirmCallback
This callback is called after a McpsDataRequest has been called from the higher layer.
Definition: lr-wpan-mac.h:396
ns3::LrWpanMac::m_macLIFSPeriod
uint32_t m_macLIFSPeriod
The minimum time forming a Long InterFrame Spacing (LIFS) period.
Definition: lr-wpan-mac.h:845
ns3::ASSOCIATED_WITHOUT_ADDRESS
@ ASSOCIATED_WITHOUT_ADDRESS
Definition: lr-wpan-mac.h:155
ns3::LrWpanMac::McpsDataRequest
void McpsDataRequest(McpsDataRequestParams params, Ptr< Packet > p)
IEEE 802.15.4-2006, section 7.1.1.1 MCPS-DATA.request Request to transfer a MSDU.
Definition: lr-wpan-mac.cc:293
ns3::MLMESTART_SUCCESS
@ MLMESTART_SUCCESS
Definition: lr-wpan-mac.h:187
ns3::SuperframeStatus
SuperframeStatus
Superframe status.
Definition: lr-wpan-mac.h:89
ns3::MlmeSyncLossIndicationParams::m_lossReason
LrWpanSyncLossReason m_lossReason
The reason for the lost of synchronization.
Definition: lr-wpan-mac.h:376
ns3::ASSOCIATED
@ ASSOCIATED
Definition: lr-wpan-mac.h:152
ns3::MAC_CSMA
@ MAC_CSMA
MAC_CSMA.
Definition: lr-wpan-mac.h:72
ns3::LrWpanMac::m_macPromiscuousMode
bool m_macPromiscuousMode
Indicates if MAC sublayer is in receive all mode.
Definition: lr-wpan-mac.h:813
ns3::LrWpanMac::GetRxOnWhenIdle
bool GetRxOnWhenIdle(void)
Check if the receiver will be enabled when the MAC is idle.
Definition: lr-wpan-mac.cc:240
ns3::LrWpanMac::PrintTransmitQueueSize
void PrintTransmitQueueSize(void)
Print the number of elements in the packet transmit queue.
Definition: lr-wpan-mac.cc:1837
ns3::McpsDataRequestParams
MCPS-DATA.request params.
Definition: lr-wpan-mac.h:237
ns3::LrWpanMac
Class that implements the LR-WPAN MAC state machine.
Definition: lr-wpan-mac.h:449
ns3::MlmeStartConfirmParams::m_status
LrWpanMlmeStartConfirmStatus m_status
The status of a MLME-start.request.
Definition: lr-wpan-mac.h:352
ns3::IEEE_802_15_4_INVALID_GTS
@ IEEE_802_15_4_INVALID_GTS
Definition: lr-wpan-mac.h:171
ns3::McpsDataIndicationParams::m_dstPanId
uint16_t m_dstPanId
Destination PAN identifier.
Definition: lr-wpan-mac.h:277
ns3::LrWpanMac::GetAssociationStatus
LrWpanAssociationStatus GetAssociationStatus(void) const
Get the current association status.
Definition: lr-wpan-mac.cc:1790
ns3::CHANNEL_IDLE
@ CHANNEL_IDLE
CHANNEL_IDLE.
Definition: lr-wpan-mac.h:76
ns3::MlmeSyncRequestParams::m_logCh
uint8_t m_logCh
The channel number on which to attempt coordinator synchronization.
Definition: lr-wpan-mac.h:322
ns3::MlmeStartConfirmParams
MLME-START.confirm params.
Definition: lr-wpan-mac.h:351
ns3::SequenceNumber< uint8_t, int8_t >
ns3::LrWpanMac::aBaseSlotDuration
static const uint32_t aBaseSlotDuration
Length of a superframe slot in symbols.
Definition: lr-wpan-mac.h:468
ns3::LrWpanMac::m_retransmission
uint8_t m_retransmission
The number of already used retransmission for the currently transmitted packet.
Definition: lr-wpan-mac.h:1306
ns3::ADDR_MODE_RESERVED
@ ADDR_MODE_RESERVED
Definition: lr-wpan-mac.h:140
ns3::LrWpanMac::m_macDsn
SequenceNumber8 m_macDsn
Sequence number added to transmitted data or MAC command frame, 00-ff.
Definition: lr-wpan-mac.h:824
ns3::LrWpanMac::m_beaconTrackingOn
bool m_beaconTrackingOn
Indication of whether the current device is tracking incoming beacons.
Definition: lr-wpan-mac.h:894
ns3::MLMEPOLL_UNAVAILABLE_KEY
@ MLMEPOLL_UNAVAILABLE_KEY
Definition: lr-wpan-mac.h:226
ns3::LrWpanMac::ChangeMacState
void ChangeMacState(LrWpanMacState newState)
Change the current MAC state to the given new state.
Definition: lr-wpan-mac.cc:1814
ns3::LrWpanMac::m_mcpsDataConfirmCallback
McpsDataConfirmCallback m_mcpsDataConfirmCallback
This callback is used to report data transmission request status to the upper layers.
Definition: lr-wpan-mac.h:1262
third.phy
phy
Definition: third.py:93
ns3::IEEE_802_15_4_CHANNEL_ACCESS_FAILURE
@ IEEE_802_15_4_CHANNEL_ACCESS_FAILURE
Definition: lr-wpan-mac.h:169
ns3::LrWpanMac::m_macSIFSPeriod
uint32_t m_macSIFSPeriod
The minimum time forming a Short InterFrame Spacing (SIFS) period.
Definition: lr-wpan-mac.h:850
ns3::LrWpanMac::m_incomingBeaconInterval
uint32_t m_incomingBeaconInterval
Indication of the interval a node should receive a superframe expressed in symbols.
Definition: lr-wpan-mac.h:881
ns3::LrWpanMac::MlmeSyncRequest
void MlmeSyncRequest(MlmeSyncRequestParams params)
IEEE 802.15.4-2011, section 6.2.13.1 MLME-SYNC.request Request to synchronize with the coordinator by...
Definition: lr-wpan-mac.cc:612
ns3::LrWpanMac::StartCFP
void StartCFP(SuperframeType superframeType)
Called to begin the Contention Free Period (CFP) in a beacon-enabled mode.
Definition: lr-wpan-mac.cc:771
ns3::McpsDataRequestParams::m_msduHandle
uint8_t m_msduHandle
MSDU handle.
Definition: lr-wpan-mac.h:251
ns3::LrWpanMac::SetAssociatedCoor
void SetAssociatedCoor(Mac16Address mac)
Check if the packet destination is its coordinator.
Definition: lr-wpan-mac.cc:1885
ns3::LrWpanMac::m_snifferTrace
TracedCallback< Ptr< const Packet > > m_snifferTrace
A trace source that emulates a non-promiscuous protocol sniffer connected to the device.
Definition: lr-wpan-mac.h:1192
ns3::LrWpanMac::m_incomingFnlCapSlot
uint8_t m_incomingFnlCapSlot
Indication of the Slot where the CAP portion of the INCOMING Superframe ends.
Definition: lr-wpan-mac.h:807