A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
LR-WPAN models

This section documents the API of the IEEE 802.15.4-related models. More...

+ Collaboration diagram for LR-WPAN models:

Modules

 LR-WPAN common parameters
 Contains common parameters about LR-WPAN that can be reused in multiple files.
 
 LrWpan module tests
 

Classes

class  ns3::lrwpan::BeaconPayloadHeader
 Implements the header for the MAC payload beacon frame according to the IEEE 802.15.4-2011 Std. More...
 
class  ns3::lrwpan::CapabilityField
 Represent the Capability Information Field. More...
 
class  ns3::lrwpan::CommandPayloadHeader
 Implements the header for the MAC payload command frame according to the IEEE 802.15.4-2011 Std. More...
 
struct  ns3::lrwpan::EdPower
 Helper structure to manage the power measurement during ED. More...
 
class  ns3::lrwpan::GtsFields
 Represent the GTS information fields. More...
 
class  ns3::lrwpan::LrWpanCsmaCa
 This class is a helper for the LrWpanMac to manage the Csma/CA state machine according to IEEE 802.15.4-2006, section 7.5.1.4. More...
 
class  ns3::lrwpan::LrWpanErrorModel
 Model the error rate for IEEE 802.15.4 2.4 GHz AWGN channel for OQPSK the model description can be found in IEEE Std 802.15.4-2006, section E.4.1.7. More...
 
class  ns3::LrWpanHelper
 helps to manage and create IEEE 802.15.4 NetDevice objects More...
 
class  ns3::lrwpan::LrWpanInterferenceHelper
 This class provides helper functions for LrWpan interference handling. More...
 
class  ns3::lrwpan::LrWpanLqiTag
 Represent the LQI (Link Quality Estination). More...
 
class  ns3::lrwpan::LrWpanMac
 Class that implements the LR-WPAN MAC state machine. More...
 
class  ns3::lrwpan::LrWpanMacHeader
 Represent the Mac Header with the Frame Control and Sequence Number fields. More...
 
class  ns3::lrwpan::LrWpanMacTrailer
 Represent the Mac Trailer with the Frame Check Sequence field. More...
 
class  ns3::lrwpan::LrWpanNetDevice
 Network layer to device interface. More...
 
class  ns3::lrwpan::LrWpanPhy
 Make LrWpanPhy a SpectrumPhy so we can enable the eventual modeling of device interference. More...
 
class  ns3::lrwpan::LrWpanSpectrumModelInitializer
 Helper class used to automatically initialize the LrWpan Spectrum Model objects. More...
 
struct  ns3::lrwpan::LrWpanSpectrumSignalParameters
 Signal parameters for LrWpan. More...
 
class  ns3::lrwpan::LrWpanSpectrumValueHelper
 This class defines all functions to create spectrum model for LrWpan. More...
 
struct  ns3::lrwpan::MacPibAttributes
 IEEE802.15.4-2011 PHY PIB Attributes Table 52 in section 6.4.2. More...
 
struct  ns3::lrwpan::McpsDataConfirmParams
 MCPS-DATA.confirm params. More...
 
struct  ns3::lrwpan::McpsDataIndicationParams
 MCPS-DATA.indication params. More...
 
struct  ns3::lrwpan::McpsDataRequestParams
 MCPS-DATA.request params. More...
 
struct  ns3::lrwpan::MlmeAssociateConfirmParams
 MLME-ASSOCIATE.confirm params. More...
 
struct  ns3::lrwpan::MlmeAssociateIndicationParams
 MLME-ASSOCIATE.indication params. More...
 
struct  ns3::lrwpan::MlmeAssociateRequestParams
 MLME-ASSOCIATE.request params. More...
 
struct  ns3::lrwpan::MlmeAssociateResponseParams
 MLME-ASSOCIATE.response params. More...
 
struct  ns3::lrwpan::MlmeBeaconNotifyIndicationParams
 MLME-BEACON-NOTIFY.indication params. More...
 
struct  ns3::lrwpan::MlmeCommStatusIndicationParams
 MLME-COMM-STATUS.indication params. More...
 
struct  ns3::lrwpan::MlmeOrphanIndicationParams
 MLME-ORPHAN.indication params. More...
 
struct  ns3::lrwpan::MlmeOrphanResponseParams
 MLME-ORPHAN.response params. More...
 
struct  ns3::lrwpan::MlmePollConfirmParams
 MLME-START.confirm params. More...
 
struct  ns3::lrwpan::MlmePollRequestParams
 MLME-POLL.request params. More...
 
struct  ns3::lrwpan::MlmeScanConfirmParams
 MLME-SCAN.confirm params. More...
 
struct  ns3::lrwpan::MlmeScanRequestParams
 MLME-SCAN.request params. More...
 
struct  ns3::lrwpan::MlmeSetConfirmParams
 MLME-SET.confirm params. More...
 
struct  ns3::lrwpan::MlmeStartConfirmParams
 MLME-START.confirm params. More...
 
struct  ns3::lrwpan::MlmeStartRequestParams
 MLME-START.request params. More...
 
struct  ns3::lrwpan::MlmeSyncLossIndicationParams
 MLME-SYNC-LOSS.indication params. More...
 
struct  ns3::lrwpan::MlmeSyncRequestParams
 MLME-SYNC.request params. More...
 
struct  ns3::lrwpan::PanDescriptor
 PAN Descriptor, Table 17 IEEE 802.15.4-2011. More...
 
class  ns3::lrwpan::PendingAddrFields
 Represent the Pending Address Specification field. More...
 
struct  ns3::lrwpan::PhyDataAndSymbolRates
 This data structure provides the Bit rate and Symbol rate for a given channel See IEEE802.15.4-2006 Table 1 and 2 in section 6.1.1 and 6.1.2. More...
 
struct  ns3::lrwpan::PhyPibAttributes
 IEEE802.15.4-2006 PHY PIB Attributes Table 23 in section 6.4.2. More...
 
struct  ns3::lrwpan::PhyPpduHeaderSymbolNumber
 This data structure provides number of symbols for the PPDU headers: SHR and PHR See IEEE802.15.4-2006 Figure 16, Table 19 and 20 in section 6.3. More...
 
class  ns3::lrwpan::SuperframeField
 Represent the Superframe Specification information field. More...
 

Typedefs

typedef Callback< void, MacStatens3::lrwpan::LrWpanMacStateCallback
 This method informs the MAC whether the channel is idle or busy.
 
typedef Callback< void, uint32_tns3::lrwpan::LrWpanMacTransCostCallback
 This method informs the transaction cost in a slotted CSMA-CA data transmission.
 
typedef void(* ns3::lrwpan::TracedValueCallback::MacState) (MacState oldValue, MacState newValue)
 TracedValue callback signature for MacState.
 
using ns3::lrwpan::McpsDataConfirmCallback = Callback< void, McpsDataConfirmParams >
 This callback is called after a McpsDataRequest has been called from the higher layer.
 
using ns3::lrwpan::McpsDataIndicationCallback = Callback< void, McpsDataIndicationParams, Ptr< Packet > >
 This callback is called after a Mcps has successfully received a frame and wants to deliver it to the higher layer.
 
using ns3::lrwpan::MlmeAssociateConfirmCallback = Callback< void, MlmeAssociateConfirmParams >
 This callback is called after a MlmeAssociateRequest has been called from the higher layer.
 
using ns3::lrwpan::MlmeAssociateIndicationCallback = Callback< void, MlmeAssociateIndicationParams >
 This callback is called after a Mlme has successfully received a command frame and wants to deliver it to the higher layer.
 
using ns3::lrwpan::MlmeBeaconNotifyIndicationCallback = Callback< void, MlmeBeaconNotifyIndicationParams >
 This callback is called after a Mlme has successfully received a beacon frame and wants to deliver it to the higher layer.
 
using ns3::lrwpan::MlmeCommStatusIndicationCallback = Callback< void, MlmeCommStatusIndicationParams >
 This callback is called by the MLME and issued to its next higher layer following a transmission instigated through a response primitive.
 
using ns3::lrwpan::MlmeGetConfirmCallback = Callback< void, MacStatus, MacPibAttributeIdentifier, Ptr< MacPibAttributes > >
 This callback is called after a MlmeGetRequest has been called from the higher layer to get a PIB.
 
using ns3::lrwpan::MlmeOrphanIndicationCallback = Callback< void, MlmeOrphanIndicationParams >
 This callback is called by the MLME and issued to its next higher layer following the reception of a orphan notification.
 
using ns3::lrwpan::MlmePollConfirmCallback = Callback< void, MlmePollConfirmParams >
 This callback is called after a Mlme-Poll.Request has been called from the higher layer.
 
using ns3::lrwpan::MlmeScanConfirmCallback = Callback< void, MlmeScanConfirmParams >
 This callback is called after a MlmeScanRequest has been called from the higher layer.
 
using ns3::lrwpan::MlmeSetConfirmCallback = Callback< void, MlmeSetConfirmParams >
 This callback is called after a MlmeSetRequest has been called from the higher layer to set a PIB.
 
using ns3::lrwpan::MlmeStartConfirmCallback = Callback< void, MlmeStartConfirmParams >
 This callback is called after a MlmeStartRequest has been called from the higher layer.
 
using ns3::lrwpan::MlmeSyncLossIndicationCallback = Callback< void, MlmeSyncLossIndicationParams >
 This callback is called to indicate the loss of synchronization with a coordinator.
 
typedef Callback< void, PhyEnumerationns3::lrwpan::PdDataConfirmCallback
 This method implements the PD SAP: PdDataConfirm.
 
typedef Callback< void, uint32_t, Ptr< Packet >, uint8_t > ns3::lrwpan::PdDataIndicationCallback
 This method implements the PD SAP: PdDataIndication.
 
typedef void(* ns3::lrwpan::TracedValueCallback::PhyEnumeration) (PhyEnumeration oldValue, PhyEnumeration newValue)
 TracedValue callback signature for PhyEnumeration.
 
typedef Callback< void, PhyEnumerationns3::lrwpan::PlmeCcaConfirmCallback
 This method implements the PD SAP: PlmeCcaConfirm.
 
typedef Callback< void, PhyEnumeration, uint8_t > ns3::lrwpan::PlmeEdConfirmCallback
 This method implements the PD SAP: PlmeEdConfirm.
 
typedef Callback< void, PhyEnumeration, PhyPibAttributeIdentifier, Ptr< PhyPibAttributes > > ns3::lrwpan::PlmeGetAttributeConfirmCallback
 This method implements the PD SAP: PlmeGetAttributeConfirm.
 
typedef Callback< void, PhyEnumeration, PhyPibAttributeIdentifierns3::lrwpan::PlmeSetAttributeConfirmCallback
 This method implements the PD SAP: PlmeSetAttributeConfirm.
 
typedef Callback< void, PhyEnumerationns3::lrwpan::PlmeSetTRXStateConfirmCallback
 This method implements the PD SAP: PlmeSetTRXStateConfirm.
 
typedef void(* ns3::lrwpan::TracedValueCallback::SuperframeStatus) (SuperframeStatus oldValue, SuperframeStatus newValue)
 TracedValue callback signature for SuperframeStatus.
 

Enumerations

enum  ns3::lrwpan::AddressMode { ns3::lrwpan::NO_PANID_ADDR = 0 , ns3::lrwpan::ADDR_MODE_RESERVED = 1 , ns3::lrwpan::SHORT_ADDR = 2 , ns3::lrwpan::EXT_ADDR = 3 }
 table 80 of 802.15.4 More...
 
enum  ns3::lrwpan::DeviceType { ns3::lrwpan::RFD = 0 , ns3::lrwpan::FFD = 1 }
 The device Capabilities. More...
 
enum  ns3::lrwpan::MacPibAttributeIdentifier {
  ns3::lrwpan::pCurrentChannel = 0x00 , ns3::lrwpan::pCurrentPage = 0x04 , ns3::lrwpan::macAckWaitDuration = 0x40 , ns3::lrwpan::macAssociationPermit = 0x41 ,
  ns3::lrwpan::macAutoRequest = 0x42 , ns3::lrwpan::macBattLifeExt = 0x43 , ns3::lrwpan::macBattLifeExtPeriods = 0x44 , ns3::lrwpan::macBeaconPayload = 0x45 ,
  ns3::lrwpan::macBeaconPayloadLength = 0x46 , ns3::lrwpan::macBeaconOrder = 0x47 , ns3::lrwpan::macBeaconTxTime = 0x48 , ns3::lrwpan::macBsn = 0x49 ,
  ns3::lrwpan::macCoordExtendedAddress = 0x4a , ns3::lrwpan::macCoordShortAddress = 0x4b , ns3::lrwpan::macDSN = 0x4c , ns3::lrwpan::macGTSPermit = 0x4d ,
  ns3::lrwpan::macMaxCSMABackoff = 0x4e , ns3::lrwpan::macMinBE = 0x4f , ns3::lrwpan::macExtendedAddress = 0x6f , ns3::lrwpan::macPanId = 0x50 ,
  ns3::lrwpan::macPromiscuousMode = 0x51 , ns3::lrwpan::macRxOnWhenIdle = 0x52 , ns3::lrwpan::macShortAddress = 0x53 , ns3::lrwpan::macSuperframeOrder = 0x54 ,
  ns3::lrwpan::macTransactionPersistenceTime = 0x55 , ns3::lrwpan::macMaxFrameRetries = 0x59 , ns3::lrwpan::macResponseWaitTime = 0x5a , ns3::lrwpan::unsupported = 255
}
 IEEE 802.15.4-2006 PHY and MAC PIB Attribute Identifiers Table 23 and Table 86. More...
 
enum  ns3::lrwpan::MacState {
  ns3::lrwpan::MAC_IDLE , ns3::lrwpan::MAC_CSMA , ns3::lrwpan::MAC_SENDING , ns3::lrwpan::MAC_ACK_PENDING ,
  ns3::lrwpan::CHANNEL_ACCESS_FAILURE , ns3::lrwpan::CHANNEL_IDLE , ns3::lrwpan::SET_PHY_TX_ON , ns3::lrwpan::MAC_GTS ,
  ns3::lrwpan::MAC_INACTIVE , ns3::lrwpan::MAC_CSMA_DEFERRED
}
 MAC states. More...
 
enum class  ns3::lrwpan::MacStatus : std::uint8_t {
  ns3::lrwpan::MacStatus::SUCCESS = 0 , ns3::lrwpan::MacStatus::FULL_CAPACITY = 0x01 , ns3::lrwpan::MacStatus::ACCESS_DENIED = 0x02 , ns3::lrwpan::MacStatus::COUNTER_ERROR = 0xdb ,
  ns3::lrwpan::MacStatus::IMPROPER_KEY_TYPE = 0xdc , ns3::lrwpan::MacStatus::IMPROPER_SECURITY_LEVEL = 0xdd , ns3::lrwpan::MacStatus::UNSUPPORTED_LEGACY = 0xde , ns3::lrwpan::MacStatus::UNSUPPORTED_SECURITY = 0xdf ,
  ns3::lrwpan::MacStatus::BEACON_LOSS = 0xe0 , ns3::lrwpan::MacStatus::CHANNEL_ACCESS_FAILURE = 0xe1 , ns3::lrwpan::MacStatus::DENIED = 0xe2 , ns3::lrwpan::MacStatus::DISABLE_TRX_FAILURE = 0xe3 ,
  ns3::lrwpan::MacStatus::SECURITY_ERROR = 0xe4 , ns3::lrwpan::MacStatus::FRAME_TOO_LONG = 0xe5 , ns3::lrwpan::MacStatus::INVALID_GTS = 0xe6 , ns3::lrwpan::MacStatus::INVALID_HANDLE = 0xe7 ,
  ns3::lrwpan::MacStatus::INVALID_PARAMETER = 0xe8 , ns3::lrwpan::MacStatus::NO_ACK = 0xe9 , ns3::lrwpan::MacStatus::NO_BEACON = 0xea , ns3::lrwpan::MacStatus::NO_DATA = 0xeb ,
  ns3::lrwpan::MacStatus::NO_SHORT_ADDRESS = 0xec , ns3::lrwpan::MacStatus::OUT_OF_CAP = 0xed , ns3::lrwpan::MacStatus::PAN_ID_CONFLICT = 0xee , ns3::lrwpan::MacStatus::REALIGMENT = 0xef ,
  ns3::lrwpan::MacStatus::TRANSACTION_EXPIRED = 0xf0 , ns3::lrwpan::MacStatus::TRANSACTION_OVERFLOW = 0xf1 , ns3::lrwpan::MacStatus::TX_ACTIVE = 0xf2 , ns3::lrwpan::MacStatus::UNAVAILABLE_KEY = 0xf3 ,
  ns3::lrwpan::MacStatus::UNSUPPORTED_ATTRIBUTE = 0xf4 , ns3::lrwpan::MacStatus::INVALID_ADDRESS = 0xf5 , ns3::lrwpan::MacStatus::ON_TIME_TOO_LONG = 0xf6 , ns3::lrwpan::MacStatus::PAST_TIME = 0xf7 ,
  ns3::lrwpan::MacStatus::TRACKING_OFF = 0xf8 , ns3::lrwpan::MacStatus::INVALID_INDEX = 0xf9 , ns3::lrwpan::MacStatus::LIMIT_REACHED = 0xfa , ns3::lrwpan::MacStatus::READ_ONLY = 0xfb ,
  ns3::lrwpan::MacStatus::SCAN_IN_PROGRESS = 0xfc , ns3::lrwpan::MacStatus::SUPERFRAME_OVERLAP = 0xfd
}
 The status of a confirm or an indication primitive as a result of a previous request. More...
 
enum  ns3::lrwpan::MlmeScanType { ns3::lrwpan::MLMESCAN_ED = 0x00 , ns3::lrwpan::MLMESCAN_ACTIVE = 0x01 , ns3::lrwpan::MLMESCAN_PASSIVE = 0x02 , ns3::lrwpan::MLMESCAN_ORPHAN = 0x03 }
 Table 30 of IEEE 802.15.4-2011. More...
 
enum  ns3::lrwpan::PendingPrimitiveStatus {
  ns3::lrwpan::MLME_NONE = 0 , ns3::lrwpan::MLME_START_REQ = 1 , ns3::lrwpan::MLME_SCAN_REQ = 2 , ns3::lrwpan::MLME_ASSOC_REQ = 3 ,
  ns3::lrwpan::MLME_SYNC_REQ = 4
}
 Indicates a pending MAC primitive. More...
 
enum  ns3::lrwpan::PhyEnumeration {
  ns3::lrwpan::IEEE_802_15_4_PHY_BUSY = 0x00 , ns3::lrwpan::IEEE_802_15_4_PHY_BUSY_RX = 0x01 , ns3::lrwpan::IEEE_802_15_4_PHY_BUSY_TX = 0x02 , ns3::lrwpan::IEEE_802_15_4_PHY_FORCE_TRX_OFF = 0x03 ,
  ns3::lrwpan::IEEE_802_15_4_PHY_IDLE = 0x04 , ns3::lrwpan::IEEE_802_15_4_PHY_INVALID_PARAMETER = 0x05 , ns3::lrwpan::IEEE_802_15_4_PHY_RX_ON = 0x06 , ns3::lrwpan::IEEE_802_15_4_PHY_SUCCESS = 0x07 ,
  ns3::lrwpan::IEEE_802_15_4_PHY_TRX_OFF = 0x08 , ns3::lrwpan::IEEE_802_15_4_PHY_TX_ON = 0x09 , ns3::lrwpan::IEEE_802_15_4_PHY_UNSUPPORTED_ATTRIBUTE = 0xa , ns3::lrwpan::IEEE_802_15_4_PHY_READ_ONLY = 0xb ,
  ns3::lrwpan::IEEE_802_15_4_PHY_UNSPECIFIED = 0xc
}
 IEEE802.15.4-2006 PHY Emumerations Table 18 in section 6.2.3. More...
 
enum  ns3::lrwpan::PhyOption {
  ns3::lrwpan::IEEE_802_15_4_868MHZ_BPSK , ns3::lrwpan::IEEE_802_15_4_915MHZ_BPSK , ns3::lrwpan::IEEE_802_15_4_950MHZ_BPSK , ns3::lrwpan::IEEE_802_15_4_868MHZ_ASK ,
  ns3::lrwpan::IEEE_802_15_4_915MHZ_ASK , ns3::lrwpan::IEEE_802_15_4_780MHZ_OQPSK , ns3::lrwpan::IEEE_802_15_4_868MHZ_OQPSK , ns3::lrwpan::IEEE_802_15_4_915MHZ_OQPSK ,
  ns3::lrwpan::IEEE_802_15_4_2_4GHZ_OQPSK , ns3::lrwpan::IEEE_802_15_4_INVALID_PHY_OPTION
}
 This Phy option will be used to index various Tables in IEEE802.15.4-2011. More...
 
enum  ns3::lrwpan::PhyPibAttributeIdentifier {
  ns3::lrwpan::phyCurrentChannel = 0x00 , ns3::lrwpan::phyChannelsSupported = 0x01 , ns3::lrwpan::phyTransmitPower = 0x02 , ns3::lrwpan::phyCCAMode = 0x03 ,
  ns3::lrwpan::phyCurrentPage = 0x04 , ns3::lrwpan::phyMaxFrameDuration = 0x05 , ns3::lrwpan::phySHRDuration = 0x06 , ns3::lrwpan::phySymbolsPerOctet = 0x07
}
 IEEE802.15.4-2006 PHY PIB Attribute Identifiers Table 23 in section 6.4.2. More...
 
enum  ns3::lrwpan::SuperframeStatus { ns3::lrwpan::BEACON , ns3::lrwpan::CAP , ns3::lrwpan::CFP , ns3::lrwpan::INACTIVE }
 Superframe status. More...
 
enum  ns3::lrwpan::SuperframeType { ns3::lrwpan::OUTGOING = 0 , ns3::lrwpan::INCOMING = 1 }
 Superframe type. More...
 
enum  ns3::lrwpan::TxOption { ns3::lrwpan::TX_OPTION_NONE = 0 , ns3::lrwpan::TX_OPTION_ACK = 1 , ns3::lrwpan::TX_OPTION_GTS = 2 , ns3::lrwpan::TX_OPTION_INDIRECT = 4 }
 Tx options. More...
 

Variables

class ns3::lrwpan::LrWpanSpectrumModelInitializer ns3::lrwpan::g_LrWpanSpectrumModelInitializerInstance
 Global object used to initialize the LrWpan Spectrum Model.
 

Detailed Description

This section documents the API of the IEEE 802.15.4-related models.

For a generic functional description, please refer to the ns-3 manual.

Typedef Documentation

◆ LrWpanMacStateCallback

This method informs the MAC whether the channel is idle or busy.

Definition at line 44 of file lr-wpan-csmaca.h.

◆ LrWpanMacTransCostCallback

This method informs the transaction cost in a slotted CSMA-CA data transmission.

i.e. Reports number of symbols (time) it would take slotted CSMA-CA to process the current transaction. 1 Transaction = 2 CCA + frame transmission (PPDU) + turnaroudtime or Ack time (optional) + IFS See IEEE 802.15.4-2011 (Sections 5.1.1.1 and 5.1.1.4)

Definition at line 53 of file lr-wpan-csmaca.h.

◆ MacState

typedef void(* ns3::lrwpan::TracedValueCallback::MacState) (MacState oldValue, MacState newValue)

TracedValue callback signature for MacState.

Parameters
[in]oldValueoriginal value of the traced variable
[in]newValuenew value of the traced variable

Definition at line 145 of file lr-wpan-mac.h.

◆ McpsDataConfirmCallback

This callback is called after a McpsDataRequest has been called from the higher layer.

It returns a status of the outcome of the transmission request

Definition at line 533 of file lr-wpan-mac-base.h.

◆ McpsDataIndicationCallback

This callback is called after a Mcps has successfully received a frame and wants to deliver it to the higher layer.

Todo:
for now, we do not deliver all of the parameters in section 802.15.4-2006 7.1.1.3.1 but just send up the packet.

Definition at line 544 of file lr-wpan-mac-base.h.

◆ MlmeAssociateConfirmCallback

This callback is called after a MlmeAssociateRequest has been called from the higher layer.

It returns a status of the outcome of the association request

Definition at line 603 of file lr-wpan-mac-base.h.

◆ MlmeAssociateIndicationCallback

This callback is called after a Mlme has successfully received a command frame and wants to deliver it to the higher layer.

Security related parameters and not handle. See 802.15.4-2011 6.2.2.2.

Definition at line 555 of file lr-wpan-mac-base.h.

◆ MlmeBeaconNotifyIndicationCallback

This callback is called after a Mlme has successfully received a beacon frame and wants to deliver it to the higher layer.

Todo:
for now, we do not deliver all of the parameters in section 802.15.4-2006 6.2.4.1 but just send up the packet.

Definition at line 614 of file lr-wpan-mac-base.h.

◆ MlmeCommStatusIndicationCallback

This callback is called by the MLME and issued to its next higher layer following a transmission instigated through a response primitive.

Security related parameters and not handle. See 802.15.4-2011 6.2.4.2

Definition at line 566 of file lr-wpan-mac-base.h.

◆ MlmeGetConfirmCallback

This callback is called after a MlmeGetRequest has been called from the higher layer to get a PIB.

It returns a status of the outcome of the write attempt.

Definition at line 643 of file lr-wpan-mac-base.h.

◆ MlmeOrphanIndicationCallback

This callback is called by the MLME and issued to its next higher layer following the reception of a orphan notification.

Security related parameters and not handle. See 802.15.4-2011 6.2.7.1

Definition at line 577 of file lr-wpan-mac-base.h.

◆ MlmePollConfirmCallback

This callback is called after a Mlme-Poll.Request has been called from the higher layer.

It returns a status of the outcome of the transmission request

Definition at line 653 of file lr-wpan-mac-base.h.

◆ MlmeScanConfirmCallback

This callback is called after a MlmeScanRequest has been called from the higher layer.

It returns a status of the outcome of the scan.

Definition at line 594 of file lr-wpan-mac-base.h.

◆ MlmeSetConfirmCallback

This callback is called after a MlmeSetRequest has been called from the higher layer to set a PIB.

It returns a status of the outcome of the write attempt.

Definition at line 634 of file lr-wpan-mac-base.h.

◆ MlmeStartConfirmCallback

This callback is called after a MlmeStartRequest has been called from the higher layer.

It returns a status of the outcome of the transmission request

Definition at line 586 of file lr-wpan-mac-base.h.

◆ MlmeSyncLossIndicationCallback

This callback is called to indicate the loss of synchronization with a coordinator.

Todo:
for now, we do not deliver all of the parameters in section See IEEE 802.15.4-2011 6.2.13.2.

Definition at line 625 of file lr-wpan-mac-base.h.

◆ PdDataConfirmCallback

This method implements the PD SAP: PdDataConfirm.

Parameters
statusthe status to be transmitted

Definition at line 215 of file lr-wpan-phy.h.

◆ PdDataIndicationCallback

This method implements the PD SAP: PdDataIndication.

Parameters
psduLengthnumber of bytes in the PSDU
pthe packet to be transmitted
lqiLink quality (LQI) value measured during reception of the PPDU

Definition at line 206 of file lr-wpan-phy.h.

◆ PhyEnumeration

typedef void(* ns3::lrwpan::TracedValueCallback::PhyEnumeration) (PhyEnumeration oldValue, PhyEnumeration newValue)

TracedValue callback signature for PhyEnumeration.

Parameters
[in]oldValueoriginal value of the traced variable
[in]newValuenew value of the traced variable

Definition at line 158 of file lr-wpan-phy.h.

◆ PlmeCcaConfirmCallback

This method implements the PD SAP: PlmeCcaConfirm.

Parameters
statusthe status of CCA

Definition at line 224 of file lr-wpan-phy.h.

◆ PlmeEdConfirmCallback

This method implements the PD SAP: PlmeEdConfirm.

Parameters
statusthe status of ED
energyLevelthe energy level of ED

Definition at line 234 of file lr-wpan-phy.h.

◆ PlmeGetAttributeConfirmCallback

This method implements the PD SAP: PlmeGetAttributeConfirm.

Parameters
statusthe status of PlmeGetAttributeRequest
idthe identifier of attribute
attributethe pointer to attribute struct

Definition at line 246 of file lr-wpan-phy.h.

◆ PlmeSetAttributeConfirmCallback

This method implements the PD SAP: PlmeSetAttributeConfirm.

Parameters
statusthe status of PlmeSetAttributeRequest
idthe identifier of attribute

Definition at line 265 of file lr-wpan-phy.h.

◆ PlmeSetTRXStateConfirmCallback

This method implements the PD SAP: PlmeSetTRXStateConfirm.

Parameters
statusthe status of PlmeSetTRXStateRequest

Definition at line 255 of file lr-wpan-phy.h.

◆ SuperframeStatus

typedef void(* ns3::lrwpan::TracedValueCallback::SuperframeStatus) (SuperframeStatus oldValue, SuperframeStatus newValue)

TracedValue callback signature for SuperframeStatus.

Parameters
[in]oldValueoriginal value of the traced variable
[in]newValuenew value of the traced variable

Definition at line 154 of file lr-wpan-mac.h.

Enumeration Type Documentation

◆ AddressMode

table 80 of 802.15.4

Enumerator
NO_PANID_ADDR 
ADDR_MODE_RESERVED 
SHORT_ADDR 
EXT_ADDR 

Definition at line 97 of file lr-wpan-mac-base.h.

◆ DeviceType

The device Capabilities.

Enumerator
RFD 

Reduced Functional Device (RFD)

FFD 

Full Functional Device (FFD)

Definition at line 44 of file lr-wpan-fields.h.

◆ MacPibAttributeIdentifier

IEEE 802.15.4-2006 PHY and MAC PIB Attribute Identifiers Table 23 and Table 86.

Note: Attribute identifiers use standardized values.

Enumerator
pCurrentChannel 

RF channel used for transmissions and receptions.

pCurrentPage 

The current channel page.

macAckWaitDuration 

Maximum number of symbols to wait for an acknowledgment.

macAssociationPermit 

Indication of whether a coordinator is allowing association.

macAutoRequest 

Indication of whether a device automatically sends a data request command if its address is listed in a beacon frame.

macBattLifeExt 

Indication of whether BLE, through the reduction of coordinator receiver operation time during the CAP, is enabled.

macBattLifeExtPeriods 

In BLE mode, the number of backoff periods during which the the receiver is enabled after the IFS following a beacon.

macBeaconPayload 

The contents of the beacon payload.

macBeaconPayloadLength 

The length in octets of the beacon payload.

macBeaconOrder 

Specification of how often the coordinator transmits its beacon.

macBeaconTxTime 

The time that the device transmitted its last beacome frame, in symbol periods.

macBsn 

The sequence number added to the transmitted beacon frame.

macCoordExtendedAddress 

The 64-bit address of the coordinator through which the device is associated.

macCoordShortAddress 

The 16-bit short address assigned to the coordinator through which the device is associated.

0xFFFE = Ext address mode 0xFFFF = Unknown.

macDSN 

The sequence number added to the transmitted data or MAC command frame.

macGTSPermit 

True if the PAN coordinator is to accept GTS requests.

macMaxCSMABackoff 

The maximum number of backoffs the CSMA-CA algorithm will attempt before declaring a channel access failure.

macMinBE 

The minimum value of the backoff exponent (BE) in the CSMA-CA algorithm.

macExtendedAddress 

The extended address of the device (64 bit address).

The id is not compliant for 2003 and 2006 versions, but this attribute is later on added to the Pib attributes in 2011 and subsequent editions of the standard.

macPanId 

The 16-bit identifier of the Personal Area Network (PAN).

macPromiscuousMode 

Indication of whether the MAC sublayer is in a promiscuous mode.

True indicates that the MAC sublayer accepts all frames.

macRxOnWhenIdle 

Indication of whether the MAC is enabled during idle periods.

macShortAddress 

The short address of the device (16 bit address).

macSuperframeOrder 

The length of the active portion of the outgoing superframe, including the beacon frame.

macTransactionPersistenceTime 

The maximum time (in unit periods) that a transaction is stored by a coordinator and indicated in its beacon.

macMaxFrameRetries 

The maximum number of retries allowed after a transmission failure.

macResponseWaitTime 

The maximum time in multiples of aBaseSuperframeDuration, a device shall wait for a response command frame to be available following a request command frame.

unsupported 

Definition at line 256 of file lr-wpan-mac-base.h.

◆ MacState

MAC states.

Enumerator
MAC_IDLE 

MAC_IDLE.

MAC_CSMA 

MAC_CSMA.

MAC_SENDING 

MAC_SENDING.

MAC_ACK_PENDING 

MAC_ACK_PENDING.

CHANNEL_ACCESS_FAILURE 

CHANNEL_ACCESS_FAILURE.

CHANNEL_IDLE 

CHANNEL_IDLE.

SET_PHY_TX_ON 

SET_PHY_TX_ON.

MAC_GTS 

MAC_GTS.

MAC_INACTIVE 

MAC_INACTIVE.

MAC_CSMA_DEFERRED 

MAC_CSMA_DEFERRED.

Definition at line 74 of file lr-wpan-mac.h.

◆ MacStatus

enum class ns3::lrwpan::MacStatus : std::uint8_t
strong

The status of a confirm or an indication primitive as a result of a previous request.

Represent the value of status in IEEE 802.15.4-2011 primitives. (Tables 6, 12, 18, 20, 31, 33, 35, 37, 39, 47)

Status codes values only appear in IEEE 802.15.4-2006, Table 78 See also NXP JN5169 IEEE 802.15.4 Stack User Guide (Table 6: Status Enumerations and Section 6.1.23)

Enumerator
SUCCESS 

The operation was completed successfully.

FULL_CAPACITY 

PAN at capacity.

Association Status field (std. 2006, Table 83)

ACCESS_DENIED 

PAN access denied.

Association Status field (std. 2006, Table 83)

COUNTER_ERROR 

The frame counter of the received frame is invalid.

IMPROPER_KEY_TYPE 

The key is not allowed to be used with that frame type.

IMPROPER_SECURITY_LEVEL 

Insufficient security level expected by the recipient.

UNSUPPORTED_LEGACY 

Deprecated security used in IEEE 802.15.4-2003.

UNSUPPORTED_SECURITY 

The security applied is not supported.

BEACON_LOSS 

The beacon was lost following a synchronization request.

CHANNEL_ACCESS_FAILURE 

A Tx could not take place due to activity in the CH.

DENIED 

The GTS request has been denied by the PAN coordinator.

DISABLE_TRX_FAILURE 

The attempt to disable the transceier has failed.

SECURITY_ERROR 
FRAME_TOO_LONG 

Frame more than aMaxPHYPacketSize or too large for CAP or GTS.

INVALID_GTS 

Missing GTS transmit or undefined direction.

INVALID_HANDLE 

When purging from TX queue handle was not found.

INVALID_PARAMETER 

Primitive parameter not supported or out of range.

NO_ACK 

No acknowledgment was received after macMaxFrameRetries.

NO_BEACON 

A scan operation failed to find any network beacons.

NO_DATA 

No response data were available following a request.

NO_SHORT_ADDRESS 

Failure due to unallocated 16-bit short address.

OUT_OF_CAP 

(Deprecated) See IEEE 802.15.4-2003

PAN_ID_CONFLICT 

PAN id conflict detected and informed to the coordinator.

REALIGMENT 

A coordinator realigment command has been received.

TRANSACTION_EXPIRED 

The transaction expired and its information discarded.

TRANSACTION_OVERFLOW 

There is no capacity to store the transaction.

TX_ACTIVE 

The transceiver was already enabled.

UNAVAILABLE_KEY 

Unavailable key, unknown or blacklisted.

UNSUPPORTED_ATTRIBUTE 

SET/GET request issued with a non supported ID.

INVALID_ADDRESS 

Invalid source or destination address.

ON_TIME_TOO_LONG 

RX enable request fail due to syms.

longer than Bcn. interval

PAST_TIME 

Rx enable request fail due to lack of time in superframe.

TRACKING_OFF 

This device is currently not tracking beacons.

INVALID_INDEX 

A MAC PIB write failed because specified index is out of range.

LIMIT_REACHED 

PAN descriptors stored reached max capacity.

READ_ONLY 

SET/GET request issued for a read only attribute.

SCAN_IN_PROGRESS 

Scan failed because already performing another scan.

SUPERFRAME_OVERLAP 

Coordinator superframe and this device superframe tx overlap.

Definition at line 50 of file lr-wpan-mac-base.h.

◆ MlmeScanType

Table 30 of IEEE 802.15.4-2011.

Enumerator
MLMESCAN_ED 
MLMESCAN_ACTIVE 
MLMESCAN_PASSIVE 
MLMESCAN_ORPHAN 

Definition at line 110 of file lr-wpan-mac-base.h.

◆ PendingPrimitiveStatus

Indicates a pending MAC primitive.

Enumerator
MLME_NONE 

No pending primitive.

MLME_START_REQ 

Pending MLME-START.request primitive.

MLME_SCAN_REQ 

Pending MLME-SCAN.request primitive.

MLME_ASSOC_REQ 

Pending MLME-ASSOCIATION.request primitive.

MLME_SYNC_REQ 

Pending MLME-SYNC.request primitive.

Definition at line 126 of file lr-wpan-mac.h.

◆ PhyEnumeration

IEEE802.15.4-2006 PHY Emumerations Table 18 in section 6.2.3.

Enumerator
IEEE_802_15_4_PHY_BUSY 
IEEE_802_15_4_PHY_BUSY_RX 
IEEE_802_15_4_PHY_BUSY_TX 
IEEE_802_15_4_PHY_FORCE_TRX_OFF 
IEEE_802_15_4_PHY_IDLE 
IEEE_802_15_4_PHY_INVALID_PARAMETER 
IEEE_802_15_4_PHY_RX_ON 
IEEE_802_15_4_PHY_SUCCESS 
IEEE_802_15_4_PHY_TRX_OFF 
IEEE_802_15_4_PHY_TX_ON 
IEEE_802_15_4_PHY_UNSUPPORTED_ATTRIBUTE 
IEEE_802_15_4_PHY_READ_ONLY 
IEEE_802_15_4_PHY_UNSPECIFIED 

Definition at line 114 of file lr-wpan-phy.h.

◆ PhyOption

This Phy option will be used to index various Tables in IEEE802.15.4-2011.

Enumerator
IEEE_802_15_4_868MHZ_BPSK 
IEEE_802_15_4_915MHZ_BPSK 
IEEE_802_15_4_950MHZ_BPSK 
IEEE_802_15_4_868MHZ_ASK 
IEEE_802_15_4_915MHZ_ASK 
IEEE_802_15_4_780MHZ_OQPSK 
IEEE_802_15_4_868MHZ_OQPSK 
IEEE_802_15_4_915MHZ_OQPSK 
IEEE_802_15_4_2_4GHZ_OQPSK 
IEEE_802_15_4_INVALID_PHY_OPTION 

Definition at line 94 of file lr-wpan-phy.h.

◆ PhyPibAttributeIdentifier

IEEE802.15.4-2006 PHY PIB Attribute Identifiers Table 23 in section 6.4.2.

Enumerator
phyCurrentChannel 
phyChannelsSupported 
phyTransmitPower 
phyCCAMode 
phyCurrentPage 
phyMaxFrameDuration 
phySHRDuration 
phySymbolsPerOctet 

Definition at line 166 of file lr-wpan-phy.h.

◆ SuperframeStatus

Superframe status.

Enumerator
BEACON 

The Beacon transmission or reception Period.

CAP 

Contention Access Period.

CFP 

Contention Free Period.

INACTIVE 

Inactive Period or unslotted CSMA-CA.

Definition at line 102 of file lr-wpan-mac.h.

◆ SuperframeType

Superframe type.

Enumerator
OUTGOING 

Outgoing Superframe.

INCOMING 

Incoming Superframe.

Definition at line 115 of file lr-wpan-mac.h.

◆ TxOption

Tx options.

Enumerator
TX_OPTION_NONE 

TX_OPTION_NONE.

TX_OPTION_ACK 

TX_OPTION_ACK.

TX_OPTION_GTS 

TX_OPTION_GTS.

TX_OPTION_INDIRECT 

TX_OPTION_INDIRECT.

Definition at line 61 of file lr-wpan-mac.h.

Variable Documentation

◆ g_LrWpanSpectrumModelInitializerInstance

class ns3::lrwpan::LrWpanSpectrumModelInitializer ns3::lrwpan::g_LrWpanSpectrumModelInitializerInstance

Global object used to initialize the LrWpan Spectrum Model.