Class that implements the Zigbee Specification Network Layer. More...
#include "zigbee-nwk.h"
Classes | |
struct | PendingTxPkt |
Structure representing an element in the pending transaction queue. More... | |
struct | TxPkt |
Structure representing an element in the Tx Buffer. More... | |
Public Types | |
typedef void(* | RreqRetriesExhaustedTracedCallback) (uint8_t rreqId, Mac16Address dst, uint8_t rreqRetriesNum) |
TracedCallback signature for RreqRetriesExhaustedTrace events. | |
Public Member Functions | |
ZigbeeNwk () | |
Default constructor. | |
~ZigbeeNwk () override | |
int64_t | AssignStreams (int64_t stream) |
Assign a fixed random variable stream number to the random variables used by this model. | |
Mac16Address | FindRoute (Mac16Address dst, bool &neighbor) |
Search for a specific destination in this device neighbor and routing tables. | |
Mac64Address | GetIeeeAddress () const |
Obtain this device 64 bit IEEE address (A.K.A. | |
Ptr< lrwpan::LrWpanMacBase > | GetMac () const |
Get the underlying MAC used by the current Zigbee NWK. | |
Mac16Address | GetNetworkAddress () const |
Obtain this device 16 bit network address (A.K.A. | |
void | McpsDataConfirm (lrwpan::McpsDataConfirmParams params) |
IEEE 802.15.4-2011 section 6.3.2 MCPS-DATA.confirm Reports the results of a request to a transfer data to another device. | |
void | McpsDataIndication (lrwpan::McpsDataIndicationParams params, Ptr< Packet > msdu) |
IEEE 802.15.4-2011 section 6.3.3 MCPS-DATA.indication Indicates the reception of an MSDU from MAC to NWK (receiving) | |
void | MlmeAssociateConfirm (lrwpan::MlmeAssociateConfirmParams params) |
IEEE 802.15.4-2011 section MlME-ASSOCIATE.confirm Report the results of an associate request attempt. | |
void | MlmeAssociateIndication (lrwpan::MlmeAssociateIndicationParams params) |
IEEE 802.15.4-2011, Section 6.2.2.2. | |
void | MlmeBeaconNotifyIndication (lrwpan::MlmeBeaconNotifyIndicationParams params) |
IEEE 802.15.4-2011, Section 6.2.4.1 MLME-BEACON-NOTIFY.indication Allows the MAC MLME to indicate the reception of a beacon with payload. | |
void | MlmeCommStatusIndication (lrwpan::MlmeCommStatusIndicationParams params) |
IEEE 802.15.4-2011 section 6.2.4.2 MLME-COMM-STATUS.indication Allows the MAC MLME to indicate a communication status. | |
void | MlmeGetConfirm (lrwpan::MacStatus status, lrwpan::MacPibAttributeIdentifier id, Ptr< lrwpan::MacPibAttributes > attribute) |
IEEE 802.15.4-2011 section 6.2.5.1 MLME-GET.confirm Reports the result of an attempt to obtain a MAC PIB attribute. | |
void | MlmeOrphanIndication (lrwpan::MlmeOrphanIndicationParams params) |
IEEE 802.15.4-2011 sections 6.2.7.1, Zigbee Specification r22.1.0 Section 3.6.1.4.3 (parent procedure) MLME-ORPHAN.indication Generated by the coordinator and issued to its next higher layer on receipt of an orphan notification command, as defined in 5.3.6. | |
void | MlmeScanConfirm (lrwpan::MlmeScanConfirmParams params) |
IEEE 802.15.4-2011 section 6.2.10.2 MLME-SCAN.confirm Reports the results of a scan request. | |
void | MlmeSetConfirm (lrwpan::MlmeSetConfirmParams params) |
IEEE 802.15.4-2011 section 6.2.11.2 MLME-SET.confirm Reports the result of an attempt to change a MAC PIB attribute. | |
void | MlmeStartConfirm (lrwpan::MlmeStartConfirmParams params) |
IEEE 802.15.4-2011 section 7.1.14.2 MLME-START.confirm Reports the results of a network start request. | |
void | NldeDataRequest (NldeDataRequestParams params, Ptr< Packet > packet) |
Zigbee Specification r22.1.0, Section 3.2.1.1 NLDE-DATA.request Request to transfer a NSDU. | |
void | NlmeDirectJoinRequest (NlmeDirectJoinRequestParams params) |
Zigbee Specification r22.1.0, section 3.2.2.16 and 3.6.1.4.3 NLME-DIRECT-JOIN.request Allows the next layer of a Zigbee coordinator or router to request to directly join another device to its network. | |
void | NlmeJoinRequest (NlmeJoinRequestParams params) |
Zigbee Specification r22.1.0, section 3.2.2.13 NLME-JOIN.request This primitive allows the next higher layer to request to join or rejoin a network, or to change the operating channel for the device while within an operating network. | |
void | NlmeNetworkDiscoveryRequest (NlmeNetworkDiscoveryRequestParams params) |
Zigbee Specification r22.1.0, section 3.2.2.3 NLME-NETWORK-DISCOVERY.request Allows the next higher layer to request that the NWK layer discover networks currently operating within the personal operating space (POS). | |
void | NlmeNetworkFormationRequest (NlmeNetworkFormationRequestParams params) |
Zigbee Specification r22.1.0, Section 3.2.2.5 and 3.6.1.1 NLME-NETWORK-FORMATION.request Request the formation of a network in a capable device. | |
void | NlmeRouteDiscoveryRequest (NlmeRouteDiscoveryRequestParams params) |
Zigbee Specification r22.1.0, section 3.2.2.33.3 and 3.6.3.5 NLME-ROUTE-DISCOVERY.request Allows the next higher layer to initiate route discovery. | |
void | NlmeStartRouterRequest (NlmeStartRouterRequestParams params) |
Zigbee Specification r22.1.0, section 3.2.2.9 NLME-START-ROUTER.request This primitive allows the next higher layer of a Zigbee router to initiate the activities expected of a Zigbee router including the routing of data framaes, route discovery, and the accepting of request to join the network from other devices. | |
void | PrintNeighborTable (Ptr< OutputStreamWrapper > stream) const |
Print the entries in the neighbor table. | |
void | PrintRouteDiscoveryTable (Ptr< OutputStreamWrapper > stream) |
Print the entries in the route discovery table. | |
void | PrintRoutingTable (Ptr< OutputStreamWrapper > stream) const |
Print the entries in the routing table. | |
void | PrintRREQRetryTable (Ptr< OutputStreamWrapper > stream) const |
Print the entries in the RREQ retry table. | |
void | SetGroupTable (Ptr< ZigbeeGroupTable > groupTable) |
Get the group table used by this Zigbee NWK. | |
void | SetMac (Ptr< lrwpan::LrWpanMacBase > mac) |
Set the underlying MAC to use in this Zigbee NWK. | |
void | SetNldeDataConfirmCallback (NldeDataConfirmCallback c) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer). | |
void | SetNldeDataIndicationCallback (NldeDataIndicationCallback c) |
Set the callback for the end of a RX, as part of the interconnections between the NWK and the APS sublayer. | |
void | SetNlmeDirectJoinConfirmCallback (NlmeDirectJoinConfirmCallback c) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer). | |
void | SetNlmeJoinConfirmCallback (NlmeJoinConfirmCallback c) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer). | |
void | SetNlmeJoinIndicationCallback (NlmeJoinIndicationCallback c) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer). | |
void | SetNlmeNetworkDiscoveryConfirmCallback (NlmeNetworkDiscoveryConfirmCallback c) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer). | |
void | SetNlmeNetworkFormationConfirmCallback (NlmeNetworkFormationConfirmCallback c) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer). | |
void | SetNlmeRouteDiscoveryConfirmCallback (NlmeRouteDiscoveryConfirmCallback c) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer). | |
void | SetNlmeStartRouterConfirmCallback (NlmeStartRouterConfirmCallback c) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer). | |
![]() | |
Object () | |
Constructor. | |
~Object () override | |
Destructor. | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. | |
void | Dispose () |
Dispose of this Object. | |
AggregateIterator | GetAggregateIterator () const |
Get an iterator to the Objects aggregated to this one. | |
TypeId | GetInstanceTypeId () const final |
Get the most derived TypeId for this Object. | |
template<typename T> | |
Ptr< T > | GetObject () const |
Get a pointer to the requested aggregated Object. | |
template<> | |
Ptr< Object > | GetObject () const |
Specialization of () for objects of type ns3::Object. | |
template<typename T> | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. | |
template<> | |
Ptr< Object > | GetObject (TypeId tid) const |
Specialization of (TypeId tid) for objects of type ns3::Object. | |
void | Initialize () |
Invoke DoInitialize on all Objects aggregated to this one. | |
bool | IsInitialized () const |
Check if the object has been initialized. | |
void | UnidirectionalAggregateObject (Ptr< Object > other) |
Aggregate an Object to another Object. | |
![]() | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
static TypeId | GetTypeId () |
Register this type. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
Protected Member Functions | |
void | DoDispose () override |
Destructor implementation. | |
void | DoInitialize () override |
Initialize() implementation. | |
void | NotifyConstructionCompleted () override |
Notifier called once the ObjectBase is fully constructed. | |
![]() | |
Object (const Object &o) | |
Copy an Object. | |
virtual void | NotifyNewAggregate () |
Notify all Objects aggregated to this one of a new Object being aggregated. | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
Private Member Functions | |
Mac16Address | AllocateNetworkAddress () |
Used by a Zigbee coordinator or router to allocate a 16 bit address (A.K.A short address or network address) to its associated device upon request. | |
void | BufferTxPkt (Ptr< Packet > p, uint8_t macHandle, uint8_t nwkHandle) |
Buffer a copy of a DATA frame for post transmission handling (Transmission failure counts, retransmission of DATA broadcasts, push of confirm notifications to the next layer) | |
bool | DequeuePendingTx (Mac16Address dst, Ptr< PendingTxPkt > entry) |
Dequeue a packet previously enqueued in the pending transmission queue. | |
void | DisposePendingTx () |
Dispose of all PendingTxPkt accumulated in the pending transmission queue. | |
void | DisposeTxPktBuffer () |
Dispose of all the entries in the TxPkt Buffer. | |
void | EnqueuePendingTx (Ptr< Packet > p, uint8_t nsduHandle) |
Enqueue a packet in the pending transmission queue until a route is discovered for its destination. | |
RouteDiscoveryStatus | FindNextHop (Mac16Address macSrcAddr, uint8_t pathCost, ZigbeeNwkHeader nwkHeader, ZigbeePayloadRouteRequestCommand payload, Mac16Address &nextHop) |
Find the next hop in route to a destination. | |
uint8_t | GetLinkCost (uint8_t lqi) const |
Obtain the link cost based on the value of the nwkReportConstantCost. | |
uint8_t | GetLQINonLinearValue (uint8_t lqi) const |
Get a non linear representation of a Link Quality Indicator (LQI). | |
NwkStatus | GetNwkStatus (lrwpan::MacStatus macStatus) const |
Cast a Mac layer status to a NWK layer status. | |
bool | IsBroadcastAddress (Mac16Address address) |
Returns true if the address is a broadcast address according to Zigbee specification r22.1.0, Section 3.6.5, Table 3-69. | |
RouteDiscoveryStatus | ProcessManyToOneRoute (Mac16Address macSrcAddr, uint8_t pathCost, ZigbeeNwkHeader nwkHeader, ZigbeePayloadRouteRequestCommand payload) |
Process Many-To-One routes. | |
void | ReceiveMulticastMemberFrame (ZigbeeNwkHeader nwkHeader, Ptr< Packet > msdu, lrwpan::McpsDataIndicationParams params) |
Process a Multicast Frame received as a member of a multicast group. | |
void | ReceiveMulticastNonMemberFrame (ZigbeeNwkHeader nwkHeader, Ptr< Packet > msdu, lrwpan::McpsDataIndicationParams params) |
Process a Multicast Frame received as a non member of a multicast group. | |
void | ReceiveRREP (Mac16Address macSrcAddr, uint8_t linkCost, ZigbeeNwkHeader nwkHeader, ZigbeePayloadRouteReplyCommand payload) |
Handles the reception of a route reply command. | |
void | ReceiveRREQ (Mac16Address macSrcAddr, uint8_t linkCost, ZigbeeNwkHeader nwkHeader, ZigbeePayloadRouteRequestCommand payload) |
Handles the reception of a route request command. | |
bool | RetrieveTxPkt (uint8_t macHandle, Ptr< TxPkt > &txPkt) |
Retrieves a previously DATA frame buffered in the TxPkt buffer. | |
void | SendDataBcst (Ptr< Packet > packet, uint8_t nwkHandle) |
Send a data broadcast packet, and add a record to the broadcast transaction table (BTT). | |
void | SendDataMcst (Ptr< Packet > packet, uint8_t nwkHandle) |
Send a data multicast packet to all the members of a multicast group. | |
void | SendDataUcst (Ptr< Packet > packet, uint8_t nwkHandle) |
Send a data unicast packet, and if necessary look for the next hop route and store the pending data transmission until a route is found. | |
void | SendRREP (Mac16Address nextHop, Mac16Address originator, Mac16Address responder, uint8_t rreqId, uint8_t pathcost) |
Construct and send a route reply command. | |
void | SendRREQ (ZigbeeNwkHeader nwkHeader, ZigbeePayloadRouteRequestCommand payload, uint8_t rreqRetries) |
Send a route request command. | |
void | UpdateBeaconPayload () |
Updates the content of the beacon payload with the most recent information in the NWK. | |
void | UpdateBeaconPayloadLength () |
Create and store a MAC beacon payload, then updates its registered size in the MAC. | |
Private Attributes | |
lrwpan::MlmeAssociateRequestParams | m_associateParams |
Temporarily store MLME-ASSOCIATE.request parameters during a NLME-JOIN.request. | |
Ptr< UniformRandomVariable > | m_bcstJitter |
Provides uniform random values for the broadcast jitter. | |
Ptr< Packet > | m_beaconPayload |
Points to the beacon payload used during the network formation process. | |
BroadcastTransactionTable | m_btt |
The broadcast transaction table. | |
uint8_t | m_countRREQRetries |
Count the number of retries this device has transmitted an RREQ. | |
uint8_t | m_currentChannel |
Used to store the value of the PHY current channel. | |
uint32_t | m_filteredChannelMask |
Contains the list of channels with acceptable energy levels in a bitmap form. | |
NlmeJoinIndicationParams | m_joinIndParams |
Temporarily store the NLME-JOIN.indication parameters while the join operations (asocciation) conclude in the coordinator or router. | |
NlmeJoinRequestParams | m_joinParams |
The parameters used during a NLME-JOIN.request. | |
Ptr< lrwpan::LrWpanMacBase > | m_mac |
Pointer to the underlying MAC connected to this Zigbee NWK. | |
SequenceNumber8 | m_macHandle |
The handle assigned when doing a transmission request to the MAC layer. | |
uint32_t | m_maxPendingTxQueueSize |
The maximum size of the pending transaction queue. | |
NlmeNetworkFormationRequestParams | m_netFormParams |
The parameters used during a NLME-NETWORK-FORMATION.request. | |
Ptr< NetFormPendingParamsGen > | m_netFormParamsGen |
The values temporarily stored as a result of the initial steps of a NLME-NETWORK-FORMATION.request (i.e. | |
std::vector< NetworkDescriptor > | m_networkDescriptorList |
Temporarily store beacons information from POS routers and PAN coordinators during a network-discovery process. | |
NldeDataConfirmCallback | m_nldeDataConfirmCallback |
This callback is used to respond to data PDU (NSDU) transfer request issued by APS sublayer to the NWK (or a layer higher to NWK). | |
NldeDataIndicationCallback | m_nldeDataIndicationCallback |
This callback is used to notify incoming packets to the APS sublayer. | |
NlmeDirectJoinConfirmCallback | m_nlmeDirectJoinConfirmCallback |
This callback is used by the next layer of a zigbee coordinator or router to be notified of the result of its request to directly join another device to its network See Zigbee specification r22.1.0, section 3.2.2.17. | |
NlmeJoinConfirmCallback | m_nlmeJoinConfirmCallback |
This callback is used by the next layer of a zigbee router or device to be notified of the result of its request to join another device network. | |
NlmeJoinIndicationCallback | m_nlmeJoinIndicationCallback |
This callback is used by the next layer of a zigbee coordinator or router to be notified when a new device has successfully joined its network by association or rejoined procedures. | |
NlmeNetworkDiscoveryConfirmCallback | m_nlmeNetworkDiscoveryConfirmCallback |
This callback is used to to notify the results of a network formation to the APS sublayer making the request. | |
NlmeNetworkFormationConfirmCallback | m_nlmeNetworkFormationConfirmCallback |
This callback is used to to notify the results of a network formation to the APS sublayer making the request. | |
NlmeRouteDiscoveryConfirmCallback | m_nlmeRouteDiscoveryConfirmCallback |
This callback is used to to notify the results of a network formation to the APS sublayer making the request. | |
NlmeStartRouterConfirmCallback | m_nlmeStartRouterConfirmCallback |
This callback is used by the next layer of a zigbee router or device to be notified of the result of its request to initiate activities as a zigbee router See Zigbee specification r22.1.0, section 3.2.2.10. | |
AddrAllocMethod | m_nwkAddrAlloc |
A value that determines the method used to assign addresses. | |
uint8_t | m_nwkCapabilityInformation |
This NIB attribute contains the device capability information established at network joining time. | |
bool | m_nwkcCoordinatorCapable |
Indicates whether the device is capable of becoming the ZigBee coordinator Zigbee Specification r22.1.0, Table 3-57. | |
uint8_t | m_nwkcInitialRREQRetries |
The number of times the first broadcast transmission of a route request command frame is retried. | |
double | m_nwkcMaxBroadcastJitter |
Minimum Broadcast jitter time (msec). | |
double | m_nwkcMaxRREQJitter |
Maximum Route request broadcast jitter time (msec). | |
double | m_nwkcMinRREQJitter |
Minimum Route request broadcast jitter time (msec). | |
uint8_t | m_nwkConcentratorDiscoveryTime |
The time in seconds between concentrator route discoveries. | |
uint8_t | m_nwkConcentratorRadius |
This NIB attribute indicates the hop count radius for concentrator route discoveries (Used by Many-To-One routing). | |
uint8_t | m_nwkcProtocolVersion |
Indicates the version of the ZigBee NWK protocol in the device. | |
Time | m_nwkcRouteDiscoveryTime |
Indicates the duration until a route discovery expires. | |
uint8_t | m_nwkcRREQRetries |
The number of times the broadcast transmission of a route request command frame is retried on relay by an intermediate Zigbee router or coordinator. | |
Time | m_nwkcRREQRetryInterval |
Duration between retries of a broadcast route request command frame. | |
uint16_t | m_nwkEndDeviceTimeoutDefault |
Indicates the index of the requested timeout field that contains the timeout in minutes for any end device that does not negotiate a different timeout value. | |
uint64_t | m_nwkExtendedPanId |
The extended PAN identifier for the PAN of which the device is a member. | |
Ptr< ZigbeeGroupTable > | m_nwkGroupIdTable |
The Group Table used by this Zigbee NWK. | |
Mac64Address | m_nwkIeeeAddress |
The EUI 64 bit IEEE address of the local device. | |
bool | m_nwkIsConcentrator |
This NIB attribute is a flag determining if this device is a concentrator (Use in Many-To-One routing). | |
uint8_t | m_nwkMaxBroadcastRetries |
The maximum number of retries allowed after a broadcast transmission failure See Zigbe Specification r22.1.0, Table 3-58 (NIB attributes) | |
uint16_t | m_nwkMaxChildren |
The number of children a device is allowed to have on its current network. | |
uint8_t | m_nwkMaxDepth |
The depth a device can have. | |
uint16_t | m_nwkMaxRouters |
The number of routers any one device is allowed to have as children. | |
NeighborTable | m_nwkNeighborTable |
The network layer neighbor table See Zigbee specification r22.1.0, 3.6.1.5. | |
Mac16Address | m_nwkNetworkAddress |
The 16-bit address that the device uses to communicate with the PAN. | |
Time | m_nwkNetworkBroadcastDeliveryTime |
Time duration that a broadcast message needs to encompass the entire network. | |
uint16_t | m_nwkPanId |
This NIB attribute should, at all times, have the same value as macPANId . | |
uint8_t | m_nwkParentInformation |
The behavior depends upon whether the device is a FFD or RFD. | |
Time | m_nwkPassiveAckTimeout |
The maximum time duration in milliseconds allowed for the parent all the child devices to retransmit a broadcast message. | |
bool | m_nwkReportConstantCost |
If false, the NWK layer shall calculate the link cost from all neighbor nodes using the LQI values reported by the MAC layer, otherwise it shall report a constant value (7). | |
RouteDiscoveryTable | m_nwkRouteDiscoveryTable |
The network route discovery table See Zigbee specification r22.1.0, 3.6.3.2. | |
RoutingTable | m_nwkRoutingTable |
The network layer routing table See Zigbee specification r22.1.0, 3.6.3.2. | |
SequenceNumber8 | m_nwkSequenceNumber |
The sequence number used to identify outgoing frames See Zigbee specification r22.1.0, Table 3-58 (NIB attributes) | |
StackProfile | m_nwkStackProfile |
Describes the current stack profile used in this NWK layer. | |
bool | m_nwkSymLink |
Describes the current route symmetry: True: Routes are considered to be symmetric links. | |
bool | m_nwkUseTreeRouting |
This NIB attribute indicates whether the NWK layer should assume the ability to use hierarchical routing. | |
PanIdTable | m_panIdTable |
Use to keep track of neighboring 16 bit PAN id. | |
std::deque< Ptr< PendingTxPkt > > | m_pendingTxQueue |
The pending transaction queue of data packets awaiting to be transmitted until a route to the destination becomes available. | |
PendingPrimitiveNwk | m_pendPrimitiveNwk |
Indicates the current primitive in use in the NWK layer. | |
Time | m_routeExpiryTime |
The expiration time of routing table entry. | |
SequenceNumber8 | m_routeRequestId |
The counter used to identify route request commands. | |
Ptr< UniformRandomVariable > | m_rreqJitter |
Provides uniform random values for the route request jitter. | |
TracedCallback< uint8_t, Mac16Address, uint8_t > | m_rreqRetriesExhaustedTrace |
A trace source that fires when a node has reached the maximum number of RREQ retries allowed. | |
RreqRetryTable | m_rreqRetryTable |
Keep track of all the route request retries. | |
uint8_t | m_scanEnergyThreshold |
The maximum acceptable energy level used in an energy scan taking place during a NLME-NETWORK-FORMATION.request. | |
NlmeStartRouterRequestParams | m_startRouterParams |
Temporarily store the NLME-START-ROUTER.request parameters during the router initialization process. | |
std::deque< Ptr< TxPkt > > | m_txBuffer |
The transmission buffer. | |
uint8_t | m_txBufferMaxSize |
The maximum size of the transmission buffer. | |
Ptr< UniformRandomVariable > | m_uniformRandomVariable |
Provides uniform random values. | |
Additional Inherited Members | |
![]() | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Class that implements the Zigbee Specification Network Layer.
Introspection did not find any typical Config paths.
Time
-9.22337e+18ns:+9.22337e+18ns Time
-9.22337e+18ns:+9.22337e+18ns Time
-9.22337e+18ns:+9.22337e+18ns Group: Zigbee
Size of this type is 1192 bytes (on a 64-bit architecture).
Definition at line 691 of file zigbee-nwk.h.
typedef void(* ns3::zigbee::ZigbeeNwk::RreqRetriesExhaustedTracedCallback) (uint8_t rreqId, Mac16Address dst, uint8_t rreqRetriesNum) |
TracedCallback signature for RreqRetriesExhaustedTrace events.
rreqId | The RREQ id used in the retries |
dst | The destination address of the RREQ retries |
rreqRetriesNum | The number of rreq retries attempted |
Definition at line 1068 of file zigbee-nwk.h.
ns3::zigbee::ZigbeeNwk::ZigbeeNwk | ( | ) |
Default constructor.
Definition at line 121 of file zigbee-nwk.cc.
References NS_LOG_FUNCTION.
Referenced by GetTypeId().
|
override |
Definition at line 182 of file zigbee-nwk.cc.
References NS_LOG_FUNCTION.
|
private |
Used by a Zigbee coordinator or router to allocate a 16 bit address (A.K.A short address or network address) to its associated device upon request.
Definition at line 3106 of file zigbee-nwk.cc.
References ns3::zigbee::DISTRIBUTED_ALLOC, m_nwkAddrAlloc, m_uniformRandomVariable, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::zigbee::STOCHASTIC_ALLOC.
Referenced by MlmeAssociateIndication(), and NlmeDirectJoinRequest().
int64_t ns3::zigbee::ZigbeeNwk::AssignStreams | ( | int64_t | stream | ) |
Assign a fixed random variable stream number to the random variables used by this model.
Return the number of streams (possibly zero) that have been assigned.
stream | first stream index to use |
Definition at line 3333 of file zigbee-nwk.cc.
References m_uniformRandomVariable, and NS_LOG_FUNCTION.
|
private |
Buffer a copy of a DATA frame for post transmission handling (Transmission failure counts, retransmission of DATA broadcasts, push of confirm notifications to the next layer)
p | The DATA packet to be buffered in the TxPkt buffer. |
macHandle | The mac layer handle (msdu handle) associated to this frame. |
nwkHandle | The nwk layer handle (nsdu handle) associated to this frame. |
Definition at line 3054 of file zigbee-nwk.cc.
References ns3::Create(), m_txBuffer, m_txBufferMaxSize, and NS_LOG_DEBUG.
Referenced by NldeDataRequest(), ReceiveRREP(), SendDataBcst(), and SendDataUcst().
|
private |
Dequeue a packet previously enqueued in the pending transmission queue.
This is called after a route has successfully be found and the DATA packet is ready to be transmitted.
dst | The destination of the packet |
entry | The pending packet element |
Definition at line 3022 of file zigbee-nwk.cc.
References m_pendingTxQueue.
Referenced by ReceiveRREP().
|
private |
Dispose of all PendingTxPkt accumulated in the pending transmission queue.
Definition at line 3044 of file zigbee-nwk.cc.
References m_pendingTxQueue.
Referenced by DoDispose().
|
private |
Dispose of all the entries in the TxPkt Buffer.
Definition at line 3090 of file zigbee-nwk.cc.
References m_txBuffer.
Referenced by DoDispose().
|
overrideprotectedvirtual |
Destructor implementation.
This method is called by Dispose() or by the Object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.
It is safe to call GetObject() from within this method.
Reimplemented from ns3::Object.
Definition at line 195 of file zigbee-nwk.cc.
References DisposePendingTx(), DisposeTxPktBuffer(), ns3::Object::DoDispose(), m_btt, m_mac, m_nldeDataConfirmCallback, m_nldeDataIndicationCallback, m_nlmeDirectJoinConfirmCallback, m_nlmeJoinConfirmCallback, m_nlmeJoinIndicationCallback, m_nlmeNetworkDiscoveryConfirmCallback, m_nlmeNetworkFormationConfirmCallback, m_nlmeRouteDiscoveryConfirmCallback, m_nlmeStartRouterConfirmCallback, m_nwkNeighborTable, m_nwkRouteDiscoveryTable, m_nwkRoutingTable, m_panIdTable, m_rreqRetryTable, ns3::MakeNullCallback(), and NS_LOG_FUNCTION.
|
overrideprotectedvirtual |
Initialize() implementation.
This method is called only once by Initialize(). If the user calls Initialize() multiple times, DoInitialize() is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject() and AggregateObject() from within this method.
Reimplemented from ns3::Object.
Definition at line 188 of file zigbee-nwk.cc.
References ns3::Object::DoInitialize(), and NS_LOG_FUNCTION.
Enqueue a packet in the pending transmission queue until a route is discovered for its destination.
p | The packet to enqueue. |
nsduHandle | The handle associated to this packet |
Definition at line 2999 of file zigbee-nwk.cc.
References ns3::Create(), ns3::zigbee::ZigbeeNwkHeader::GetDstAddr(), m_maxPendingTxQueueSize, and m_pendingTxQueue.
Referenced by SendDataUcst().
|
private |
Find the next hop in route to a destination.
See RouteDiscoveryStatus enumeration for full information on the returned status.
macSrcAddr | The MAC address received from the previous hop. |
pathCost | The path cost accumulated in the route discovery so far. |
nwkHeader | The network header created at the initiator or the received RREQ. |
payload | The payload header of the initiator or the received RREQ. |
nextHop | If the destination is found in the routing or neighbor tables it contains the address of the next hop towards the destination. |
Definition at line 879 of file zigbee-nwk.cc.
References ns3::Mac16Address::ConvertToInt(), ns3::Create(), ns3::zigbee::DISCOVER_UNDERWAY, ns3::zigbee::ENABLE_ROUTE_DISCOVERY, ns3::zigbee::ZigbeeNwkHeader::GetDiscoverRoute(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetDstAddr(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetMulticastField(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetRouteReqId(), ns3::zigbee::ZigbeeNwkHeader::GetSrcAddr(), ns3::zigbee::NlmeRouteDiscoveryConfirmParams::m_networkStatusCode, m_nlmeRouteDiscoveryConfirmCallback, m_nwkcRouteDiscoveryTime, m_nwkGroupIdTable, m_nwkNeighborTable, m_nwkNetworkAddress, m_nwkRouteDiscoveryTable, m_nwkRoutingTable, m_routeExpiryTime, ns3::zigbee::NlmeRouteDiscoveryConfirmParams::m_status, ns3::zigbee::NO_DISCOVER_ROUTE, ns3::zigbee::NO_ROUTE_AVAILABLE, ns3::zigbee::NO_ROUTING_CAPACITY, ns3::Simulator::Now(), NS_LOG_FUNCTION, ns3::zigbee::ROUTE_ACTIVE, ns3::zigbee::ROUTE_DISCOVERY_UNDERWAY, ns3::zigbee::ROUTE_ERROR, ns3::zigbee::ROUTE_FOUND, ns3::zigbee::ROUTE_NOT_FOUND, ns3::zigbee::ROUTE_UPDATED, ns3::zigbee::ROUTE_VALIDATION_UNDERWAY, and ns3::zigbee::TABLE_FULL.
Referenced by NlmeRouteDiscoveryRequest(), ReceiveRREQ(), and SendDataUcst().
Mac16Address ns3::zigbee::ZigbeeNwk::FindRoute | ( | Mac16Address | dst, |
bool & | neighbor ) |
Search for a specific destination in this device neighbor and routing tables.
This function is only a quick reference used for debugging purposes.
dst | The destination to search in our tables |
neighbor | A flag indicating whether or not the returned next hop was found in our neighbor table. |
Definition at line 322 of file zigbee-nwk.cc.
References m_nwkNeighborTable, m_nwkRoutingTable, and ns3::zigbee::ROUTE_ACTIVE.
Mac64Address ns3::zigbee::ZigbeeNwk::GetIeeeAddress | ( | ) | const |
Obtain this device 64 bit IEEE address (A.K.A.
extended address).
This function should only be used for debugging purposes and it should not be use by higher layers. Higher layers should use NLME-GET.request instead to obtain this attribute.
Definition at line 352 of file zigbee-nwk.cc.
References m_nwkIeeeAddress.
|
private |
Obtain the link cost based on the value of the nwkReportConstantCost.
If nwkReportConstantCost is True, the link will use a constant value of 7, if false, it will use the LQI to obtain the link cost. When the LQI option is used, the link cost is based on a non linear mapping of LQI values. See Zigbee specification r22.1.0, 3.6.3.1 See NXP Zigbee 3.0 Stack User Guide (JN-UG-3113, revision 1.5), page 108.
lqi | The lqi value (1-255) used to calculate the link cost. |
Definition at line 3182 of file zigbee-nwk.cc.
References GetLQINonLinearValue(), m_nwkReportConstantCost, and NS_LOG_FUNCTION.
Referenced by McpsDataIndication().
|
private |
Get a non linear representation of a Link Quality Indicator (LQI).
This is used to obtain LQI representations used in the link cost/Path cost of a route discovery and the Outgoing cost in the neighbors table.
lqi | The LQI value (1-255) mapped |
Definition at line 3145 of file zigbee-nwk.cc.
Referenced by GetLinkCost(), McpsDataIndication(), and MlmeBeaconNotifyIndication().
Ptr< LrWpanMacBase > ns3::zigbee::ZigbeeNwk::GetMac | ( | ) | const |
Get the underlying MAC used by the current Zigbee NWK.
Definition at line 240 of file zigbee-nwk.cc.
References m_mac.
Mac16Address ns3::zigbee::ZigbeeNwk::GetNetworkAddress | ( | ) | const |
Obtain this device 16 bit network address (A.K.A.
short address).
This function should only be used for debugging purposes and it should not be use by higher layers. Higher layers should use NLME-GET.request instead to obtain this attribute.
Definition at line 346 of file zigbee-nwk.cc.
References m_nwkNetworkAddress.
|
private |
Cast a Mac layer status to a NWK layer status.
macStatus | The Mac layer status to be casted. |
Definition at line 3100 of file zigbee-nwk.cc.
Referenced by MlmeAssociateConfirm(), MlmeScanConfirm(), and MlmeStartConfirm().
|
static |
Get the type ID.
Definition at line 35 of file zigbee-nwk.cc.
References ns3::Object::Object(), ZigbeeNwk(), m_maxPendingTxQueueSize, m_nwkcCoordinatorCapable, m_nwkcInitialRREQRetries, m_nwkcMaxBroadcastJitter, m_nwkcMaxRREQJitter, m_nwkcMinRREQJitter, m_nwkcProtocolVersion, m_nwkcRouteDiscoveryTime, m_nwkcRREQRetries, m_nwkcRREQRetryInterval, m_nwkMaxBroadcastRetries, m_nwkPassiveAckTimeout, m_rreqRetriesExhaustedTrace, ns3::MakeBooleanAccessor(), ns3::MakeBooleanChecker(), ns3::MakeDoubleAccessor(), ns3::MakeDoubleChecker(), ns3::MakeTimeAccessor(), ns3::MakeTimeChecker(), ns3::MakeTraceSourceAccessor(), ns3::MakeUintegerAccessor(), ns3::MakeUintegerChecker(), ns3::MilliSeconds(), and ns3::TypeId::SetParent().
|
private |
Returns true if the address is a broadcast address according to Zigbee specification r22.1.0, Section 3.6.5, Table 3-69.
address | The address to compare to a broadcast address |
Definition at line 873 of file zigbee-nwk.cc.
Referenced by McpsDataConfirm(), McpsDataIndication(), NldeDataRequest(), and NlmeRouteDiscoveryRequest().
void ns3::zigbee::ZigbeeNwk::McpsDataConfirm | ( | lrwpan::McpsDataConfirmParams | params | ) |
IEEE 802.15.4-2011 section 6.3.2 MCPS-DATA.confirm Reports the results of a request to a transfer data to another device.
params | The MCPS-DATA.confirm parameters. |
Definition at line 1233 of file zigbee-nwk.cc.
References ns3::zigbee::DATA, ns3::zigbee::ZigbeeNwkHeader::GetDstAddr(), ns3::zigbee::ZigbeeNwkHeader::GetFrameType(), ns3::zigbee::ZigbeeNwkHeader::GetSeqNum(), ns3::zigbee::ZigbeeNwkHeader::GetSrcAddr(), IsBroadcastAddress(), ns3::zigbee::ZigbeeNwkHeader::IsMulticast(), m_btt, m_nldeDataConfirmCallback, ns3::zigbee::NldeDataConfirmParams::m_nsduHandle, m_nwkMaxBroadcastRetries, m_nwkNetworkAddress, m_nwkPassiveAckTimeout, ns3::MilliSeconds(), NS_LOG_ERROR, NS_LOG_WARN, RetrieveTxPkt(), ns3::Simulator::Schedule(), SendDataBcst(), and ns3::lrwpan::SUCCESS.
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize().
void ns3::zigbee::ZigbeeNwk::McpsDataIndication | ( | lrwpan::McpsDataIndicationParams | params, |
Ptr< Packet > | msdu ) |
IEEE 802.15.4-2011 section 6.3.3 MCPS-DATA.indication Indicates the reception of an MSDU from MAC to NWK (receiving)
params | The MCPS-DATA.indication parameters. |
msdu | The set of octets forming the MSDU. |
Definition at line 358 of file zigbee-nwk.cc.
References ns3::Mac16Address::ConvertToInt(), ns3::Create(), ns3::zigbee::DATA, ns3::zigbee::ENDDEVICE, ns3::zigbee::ZigbeePayloadType::GetCmdType(), ns3::zigbee::CapabilityInformation::GetDeviceType(), ns3::zigbee::ZigbeeNwkHeader::GetDstAddr(), ns3::zigbee::ZigbeeNwkHeader::GetFrameType(), GetLinkCost(), GetLQINonLinearValue(), ns3::zigbee::ZigbeeNwkHeader::GetMulticastMode(), ns3::zigbee::ZigbeeNwkHeader::GetRadius(), ns3::zigbee::ZigbeeNwkHeader::GetSeqNum(), ns3::zigbee::ZigbeeNwkHeader::GetSrcAddr(), ns3::zigbee::INTER_PAN, IsBroadcastAddress(), ns3::zigbee::ZigbeeNwkHeader::IsMulticast(), ns3::zigbee::CapabilityInformation::IsReceiverOnWhenIdle(), m_btt, ns3::zigbee::NldeDataIndicationParams::m_dstAddr, ns3::zigbee::NldeDataIndicationParams::m_dstAddrMode, ns3::zigbee::NldeDataIndicationParams::m_linkQuality, m_nldeDataIndicationCallback, ns3::zigbee::NldeDataIndicationParams::m_nsduLength, m_nwkCapabilityInformation, m_nwkGroupIdTable, m_nwkNeighborTable, m_nwkNetworkAddress, m_nwkNetworkBroadcastDeliveryTime, ns3::zigbee::NldeDataIndicationParams::m_rxTime, ns3::zigbee::NldeDataIndicationParams::m_securityUse, ns3::zigbee::NldeDataIndicationParams::m_srcAddr, ns3::zigbee::MEMBER, ns3::Simulator::Now(), NS_FATAL_ERROR, NS_LOG_ERROR, NS_LOG_FUNCTION, ns3::zigbee::NWK_COMMAND, ReceiveMulticastMemberFrame(), ReceiveMulticastNonMemberFrame(), ReceiveRREP(), ReceiveRREQ(), ns3::zigbee::ROUTE_REP_CMD, ns3::zigbee::ROUTE_REQ_CMD, ns3::zigbee::ROUTER, SendDataBcst(), SendDataUcst(), ns3::zigbee::CapabilityInformation::SetCapability(), ns3::zigbee::ZigbeeNwkHeader::SetMulticastMode(), ns3::zigbee::ZigbeeNwkHeader::SetRadius(), and ns3::zigbee::UCST_BCST.
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize().
void ns3::zigbee::ZigbeeNwk::MlmeAssociateConfirm | ( | lrwpan::MlmeAssociateConfirmParams | params | ) |
IEEE 802.15.4-2011 section MlME-ASSOCIATE.confirm Report the results of an associate request attempt.
params | The MLME-ASSOCIATE.confirm parameters. |
Definition at line 1543 of file zigbee-nwk.cc.
References ns3::lrwpan::EXT_ADDR, ns3::lrwpan::FULL_CAPACITY, GetNwkStatus(), m_associateParams, ns3::zigbee::NlmeJoinConfirmParams::m_enhancedBeacon, ns3::zigbee::NlmeJoinConfirmParams::m_extendedPanId, m_joinParams, ns3::zigbee::NlmeJoinConfirmParams::m_macInterfaceIndex, ns3::zigbee::NlmeJoinConfirmParams::m_networkAddress, m_nlmeJoinConfirmCallback, m_nwkExtendedPanId, m_nwkNeighborTable, m_nwkNetworkAddress, m_nwkPanId, m_pendPrimitiveNwk, ns3::zigbee::NlmeJoinConfirmParams::m_status, ns3::zigbee::NBR_PARENT, ns3::zigbee::NEIGHBOR_TABLE_FULL, ns3::zigbee::NLDE_NLME_NONE, ns3::zigbee::NLME_JOIN, NS_LOG_DEBUG, NS_LOG_ERROR, NS_LOG_FUNCTION, ns3::lrwpan::SUCCESS, and ns3::zigbee::SUCCESS.
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize().
void ns3::zigbee::ZigbeeNwk::MlmeAssociateIndication | ( | lrwpan::MlmeAssociateIndicationParams | params | ) |
IEEE 802.15.4-2011, Section 6.2.2.2.
MLME-ASSOCIATE.indication Allows the MAC MLME to indicate the reception of an associate request on a PAN coordinator or router. In the Zigbee specification this implements the parent procedure when a device join a network through association (See Zigbee specification r22.1.0, Section 3.6.1.4.1)
params | The MLME-ASSOCIATE.indication parameters |
Definition at line 2100 of file zigbee-nwk.cc.
References AllocateNetworkAddress(), ns3::zigbee::ASSOCIATION, ns3::Create(), ns3::lrwpan::FULL_CAPACITY, ns3::zigbee::CapabilityInformation::GetCapability(), ns3::zigbee::CapabilityInformation::GetDeviceType(), ns3::zigbee::CapabilityInformation::IsAllocateAddrOn(), ns3::zigbee::CapabilityInformation::IsReceiverOnWhenIdle(), ns3::lrwpan::MlmeAssociateResponseParams::m_assocShortAddr, ns3::lrwpan::MlmeAssociateResponseParams::m_extDevAddr, m_joinIndParams, m_mac, m_nwkEndDeviceTimeoutDefault, m_nwkExtendedPanId, m_nwkNeighborTable, ns3::lrwpan::MlmeAssociateResponseParams::m_status, ns3::Minutes(), MlmeAssociateIndication(), ns3::lrwpan::LrWpanMacBase::MlmeAssociateResponse(), ns3::zigbee::NBR_CHILD, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::zigbee::RequestedTimeoutField, ns3::Simulator::ScheduleNow(), ns3::Seconds(), and ns3::lrwpan::SUCCESS.
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize(), and MlmeAssociateIndication().
void ns3::zigbee::ZigbeeNwk::MlmeBeaconNotifyIndication | ( | lrwpan::MlmeBeaconNotifyIndicationParams | params | ) |
IEEE 802.15.4-2011, Section 6.2.4.1 MLME-BEACON-NOTIFY.indication Allows the MAC MLME to indicate the reception of a beacon with payload.
params | The MLME-BEACON-NOTIFY.indication parameters |
Definition at line 1987 of file zigbee-nwk.cc.
References ns3::Create(), ns3::zigbee::SuperframeInformation::GetBeaconOrder(), ns3::zigbee::ZigbeeBeaconPayload::GetEndDevCapacity(), ns3::zigbee::ZigbeeBeaconPayload::GetExtPanId(), ns3::zigbee::SuperframeInformation::GetFrameOrder(), GetLQINonLinearValue(), ns3::zigbee::ZigbeeBeaconPayload::GetProtocolId(), ns3::zigbee::ZigbeeBeaconPayload::GetRouterCapacity(), ns3::zigbee::ZigbeeBeaconPayload::GetStackProfile(), ns3::zigbee::SuperframeInformation::IsAssocPermit(), ns3::zigbee::NetworkDescriptor::m_beaconOrder, ns3::zigbee::NetworkDescriptor::m_endDeviceCapacity, ns3::zigbee::NetworkDescriptor::m_extPanId, ns3::zigbee::NetworkDescriptor::m_logCh, m_networkDescriptorList, m_nwkEndDeviceTimeoutDefault, m_nwkNeighborTable, ns3::zigbee::NetworkDescriptor::m_panId, m_panIdTable, m_pendPrimitiveNwk, ns3::zigbee::NetworkDescriptor::m_permitJoining, ns3::zigbee::NetworkDescriptor::m_routerCapacity, ns3::zigbee::NetworkDescriptor::m_stackProfile, ns3::zigbee::NetworkDescriptor::m_superframeOrder, ns3::zigbee::NetworkDescriptor::m_updateId, ns3::zigbee::NetworkDescriptor::m_zigbeeVersion, ns3::Minutes(), ns3::zigbee::NBR_NONE, ns3::zigbee::NLME_NET_DISCV, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::zigbee::RequestedTimeoutField, ns3::Seconds(), ns3::lrwpan::SHORT_ADDR, ns3::zigbee::ZIGBEE_COORDINATOR, and ns3::zigbee::ZIGBEE_ROUTER.
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize().
void ns3::zigbee::ZigbeeNwk::MlmeCommStatusIndication | ( | lrwpan::MlmeCommStatusIndicationParams | params | ) |
IEEE 802.15.4-2011 section 6.2.4.2 MLME-COMM-STATUS.indication Allows the MAC MLME to indicate a communication status.
params | The MLME-COMM-STATUS.indication parameters |
Definition at line 1955 of file zigbee-nwk.cc.
References ns3::zigbee::ASSOCIATION, ns3::zigbee::DIRECT_OR_REJOIN, m_joinIndParams, m_nlmeJoinIndicationCallback, m_pendPrimitiveNwk, ns3::zigbee::NLME_JOIN_INDICATION, NS_LOG_FUNCTION, ns3::lrwpan::SUCCESS, and UpdateBeaconPayloadLength().
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize().
void ns3::zigbee::ZigbeeNwk::MlmeGetConfirm | ( | lrwpan::MacStatus | status, |
lrwpan::MacPibAttributeIdentifier | id, | ||
Ptr< lrwpan::MacPibAttributes > | attribute ) |
IEEE 802.15.4-2011 section 6.2.5.1 MLME-GET.confirm Reports the result of an attempt to obtain a MAC PIB attribute.
status | The status as a result of a MLME-GET.request operation |
id | The identififier of the attribute requested |
attribute | The value of of the attribute requested |
Definition at line 1803 of file zigbee-nwk.cc.
References ns3::zigbee::CapabilityInformation::GetCapability(), ns3::lrwpan::MlmeStartRequestParams::m_battLifeExt, ns3::lrwpan::MlmeStartRequestParams::m_bcnOrd, ns3::zigbee::NlmeJoinConfirmParams::m_channelList, ns3::lrwpan::MlmeStartRequestParams::m_coorRealgn, m_currentChannel, ns3::zigbee::NlmeJoinConfirmParams::m_enhancedBeacon, ns3::zigbee::NlmeJoinConfirmParams::m_extendedPanId, m_joinParams, ns3::lrwpan::MlmeStartRequestParams::m_logCh, ns3::lrwpan::MlmeStartRequestParams::m_logChPage, m_mac, m_netFormParams, m_netFormParamsGen, ns3::zigbee::NlmeJoinConfirmParams::m_networkAddress, m_nlmeJoinConfirmCallback, m_nlmeNetworkFormationConfirmCallback, m_nwkCapabilityInformation, m_nwkExtendedPanId, m_nwkIeeeAddress, m_nwkNetworkAddress, m_nwkPanId, ns3::lrwpan::MlmeStartRequestParams::m_panCoor, ns3::lrwpan::MlmeStartRequestParams::m_PanId, m_pendPrimitiveNwk, ns3::lrwpan::MlmeStartRequestParams::m_sfrmOrd, m_startRouterParams, ns3::zigbee::NlmeJoinConfirmParams::m_status, ns3::zigbee::NlmeNetworkFormationConfirmParams::m_status, ns3::lrwpan::macExtendedAddress, ns3::lrwpan::macPanId, ns3::lrwpan::macShortAddress, ns3::lrwpan::LrWpanMacBase::MlmeGetRequest(), ns3::lrwpan::LrWpanMacBase::MlmeStartRequest(), ns3::zigbee::NLDE_NLME_NONE, ns3::zigbee::NLME_JOIN, ns3::zigbee::NLME_NETWORK_FORMATION, ns3::zigbee::NLME_START_ROUTER, NS_LOG_FUNCTION, ns3::lrwpan::pCurrentChannel, ns3::zigbee::ROUTER, ns3::Simulator::ScheduleNow(), ns3::zigbee::CapabilityInformation::SetDeviceType(), ns3::zigbee::STARTUP_FAILURE, ns3::lrwpan::SUCCESS, ns3::zigbee::SUCCESS, and UpdateBeaconPayloadLength().
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize().
void ns3::zigbee::ZigbeeNwk::MlmeOrphanIndication | ( | lrwpan::MlmeOrphanIndicationParams | params | ) |
IEEE 802.15.4-2011 sections 6.2.7.1, Zigbee Specification r22.1.0 Section 3.6.1.4.3 (parent procedure) MLME-ORPHAN.indication Generated by the coordinator and issued to its next higher layer on receipt of an orphan notification command, as defined in 5.3.6.
params | The MLME-ORPHAN.indication parameters |
Definition at line 1914 of file zigbee-nwk.cc.
References ns3::zigbee::DIRECT_OR_REJOIN, ns3::zigbee::ENDDEVICE, ns3::zigbee::CapabilityInformation::GetCapability(), ns3::lrwpan::MlmeOrphanResponseParams::m_assocMember, m_joinIndParams, m_mac, m_nwkNeighborTable, ns3::lrwpan::MlmeOrphanResponseParams::m_orphanAddr, ns3::lrwpan::MlmeOrphanResponseParams::m_shortAddr, ns3::lrwpan::LrWpanMacBase::MlmeOrphanResponse(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::zigbee::ROUTER, ns3::Simulator::ScheduleNow(), ns3::zigbee::CapabilityInformation::SetDeviceType(), ns3::zigbee::CapabilityInformation::SetReceiverOnWhenIdle(), ns3::zigbee::ZIGBEE_ENDDEVICE, and ns3::zigbee::ZIGBEE_ROUTER.
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize().
void ns3::zigbee::ZigbeeNwk::MlmeScanConfirm | ( | lrwpan::MlmeScanConfirmParams | params | ) |
IEEE 802.15.4-2011 section 6.2.10.2 MLME-SCAN.confirm Reports the results of a scan request.
params | The MLME-SCAN.confirm parameters. |
Definition at line 1297 of file zigbee-nwk.cc.
References ns3::Create(), GetNwkStatus(), ns3::lrwpan::MlmeScanRequestParams::m_chPage, m_filteredChannelMask, m_joinParams, m_mac, ns3::zigbee::NlmeNetworkDiscoveryConfirmParams::m_netDescList, m_netFormParams, m_netFormParamsGen, ns3::zigbee::NlmeNetworkDiscoveryConfirmParams::m_networkCount, m_networkDescriptorList, m_nlmeJoinConfirmCallback, m_nlmeNetworkDiscoveryConfirmCallback, m_nlmeNetworkFormationConfirmCallback, m_nwkCapabilityInformation, m_nwkExtendedPanId, m_nwkNetworkAddress, m_pendPrimitiveNwk, ns3::lrwpan::MlmeScanRequestParams::m_scanChannels, ns3::lrwpan::MlmeScanRequestParams::m_scanDuration, m_scanEnergyThreshold, ns3::lrwpan::MlmeScanRequestParams::m_scanType, ns3::zigbee::NlmeJoinConfirmParams::m_status, ns3::zigbee::NlmeNetworkDiscoveryConfirmParams::m_status, ns3::zigbee::NlmeNetworkFormationConfirmParams::m_status, m_uniformRandomVariable, ns3::lrwpan::macShortAddress, ns3::lrwpan::LrWpanMacBase::MlmeGetRequest(), ns3::lrwpan::MLMESCAN_ACTIVE, ns3::lrwpan::MLMESCAN_ED, ns3::lrwpan::MLMESCAN_ORPHAN, ns3::lrwpan::LrWpanMacBase::MlmeScanRequest(), ns3::lrwpan::LrWpanMacBase::MlmeSetRequest(), ns3::zigbee::NLDE_NLME_NONE, ns3::zigbee::NLME_JOIN, ns3::zigbee::NLME_NET_DISCV, ns3::zigbee::NLME_NETWORK_FORMATION, ns3::lrwpan::NO_BEACON, ns3::zigbee::NO_NETWORKS, NS_ASSERT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), ns3::zigbee::STARTUP_FAILURE, ns3::lrwpan::SUCCESS, and ns3::zigbee::SUCCESS.
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize().
void ns3::zigbee::ZigbeeNwk::MlmeSetConfirm | ( | lrwpan::MlmeSetConfirmParams | params | ) |
IEEE 802.15.4-2011 section 6.2.11.2 MLME-SET.confirm Reports the result of an attempt to change a MAC PIB attribute.
params | The MLME-SET.confirm params |
Definition at line 1707 of file zigbee-nwk.cc.
References ns3::lrwpan::MlmeStartRequestParams::m_battLifeExt, ns3::lrwpan::MlmeStartRequestParams::m_bcnOrd, ns3::lrwpan::MlmeStartRequestParams::m_coorRealgn, m_joinIndParams, ns3::lrwpan::MlmeStartRequestParams::m_logCh, ns3::lrwpan::MlmeStartRequestParams::m_logChPage, m_mac, m_netFormParams, m_netFormParamsGen, m_nlmeJoinIndicationCallback, m_nlmeNetworkFormationConfirmCallback, m_nlmeStartRouterConfirmCallback, ns3::lrwpan::MlmeStartRequestParams::m_panCoor, ns3::lrwpan::MlmeStartRequestParams::m_PanId, m_pendPrimitiveNwk, ns3::lrwpan::MlmeStartRequestParams::m_sfrmOrd, m_startRouterParams, ns3::zigbee::NlmeNetworkFormationConfirmParams::m_status, ns3::zigbee::NlmeStartRouterConfirmParams::m_status, ns3::lrwpan::macBeaconPayload, ns3::lrwpan::macBeaconPayloadLength, ns3::lrwpan::macExtendedAddress, ns3::lrwpan::macShortAddress, ns3::lrwpan::LrWpanMacBase::MlmeGetRequest(), ns3::lrwpan::LrWpanMacBase::MlmeStartRequest(), ns3::zigbee::NLDE_NLME_NONE, ns3::zigbee::NLME_JOIN_INDICATION, ns3::zigbee::NLME_NETWORK_FORMATION, ns3::zigbee::NLME_START_ROUTER, NS_LOG_ERROR, NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), ns3::zigbee::STARTUP_FAILURE, ns3::lrwpan::SUCCESS, ns3::zigbee::SUCCESS, and UpdateBeaconPayload().
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize().
void ns3::zigbee::ZigbeeNwk::MlmeStartConfirm | ( | lrwpan::MlmeStartConfirmParams | params | ) |
IEEE 802.15.4-2011 section 7.1.14.2 MLME-START.confirm Reports the results of a network start request.
params | The MLME-START.confirm parameters. |
Definition at line 1651 of file zigbee-nwk.cc.
References GetNwkStatus(), m_netFormParams, m_netFormParamsGen, m_nlmeNetworkFormationConfirmCallback, m_nlmeStartRouterConfirmCallback, m_nwkExtendedPanId, m_nwkNetworkAddress, m_nwkPanId, m_pendPrimitiveNwk, m_startRouterParams, ns3::zigbee::NlmeNetworkFormationConfirmParams::m_status, ns3::zigbee::NlmeStartRouterConfirmParams::m_status, ns3::zigbee::NLDE_NLME_NONE, ns3::zigbee::NLME_NETWORK_FORMATION, ns3::zigbee::NLME_START_ROUTER, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::zigbee::SUCCESS, and UpdateBeaconPayloadLength().
Referenced by ns3::zigbee::ZigbeeStack::DoInitialize().
void ns3::zigbee::ZigbeeNwk::NldeDataRequest | ( | NldeDataRequestParams | params, |
Ptr< Packet > | packet ) |
Zigbee Specification r22.1.0, Section 3.2.1.1 NLDE-DATA.request Request to transfer a NSDU.
params | the request parameters |
packet | the NSDU to be transmitted |
Definition at line 2195 of file zigbee-nwk.cc.
References ns3::zigbee::BT_TABLE_FULL, BufferTxPkt(), ns3::Create(), ns3::zigbee::DATA, ns3::zigbee::ENDDEVICE, ns3::zigbee::CapabilityInformation::GetDeviceType(), ns3::zigbee::ZigbeeNwkHeader::GetEndDeviceInitiator(), ns3::zigbee::ZigbeeNwkHeader::GetSeqNum(), ns3::zigbee::ZigbeeNwkHeader::GetSrcAddr(), ns3::zigbee::INVALID_REQUEST, IsBroadcastAddress(), m_btt, ns3::lrwpan::McpsDataRequestParams::m_dstAddr, ns3::lrwpan::McpsDataRequestParams::m_dstAddrMode, ns3::lrwpan::McpsDataRequestParams::m_dstPanId, m_mac, m_macHandle, ns3::lrwpan::McpsDataRequestParams::m_msduHandle, m_nldeDataConfirmCallback, ns3::zigbee::NldeDataConfirmParams::m_nsduHandle, m_nwkCapabilityInformation, m_nwkGroupIdTable, m_nwkMaxDepth, m_nwkNeighborTable, m_nwkNetworkAddress, m_nwkNetworkBroadcastDeliveryTime, m_nwkPanId, m_nwkSequenceNumber, m_pendPrimitiveNwk, ns3::lrwpan::McpsDataRequestParams::m_srcAddrMode, ns3::zigbee::NldeDataConfirmParams::m_status, ns3::lrwpan::McpsDataRequestParams::m_txOptions, ns3::zigbee::NldeDataConfirmParams::m_txTime, ns3::lrwpan::LrWpanMacBase::McpsDataRequest(), ns3::zigbee::MCST, ns3::zigbee::MEMBER, ns3::zigbee::NLDE_NLME_NONE, ns3::zigbee::NONMEMBER, ns3::Simulator::Now(), NS_ABORT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_WARN, ns3::zigbee::ROUTER, ns3::Simulator::ScheduleNow(), SendDataBcst(), SendDataUcst(), ns3::zigbee::CapabilityInformation::SetCapability(), ns3::zigbee::ZigbeeNwkHeader::SetDiscoverRoute(), ns3::zigbee::ZigbeeNwkHeader::SetDstAddr(), ns3::zigbee::ZigbeeNwkHeader::SetEndDeviceInitiator(), ns3::zigbee::ZigbeeNwkHeader::SetFrameType(), ns3::zigbee::ZigbeeNwkHeader::SetMaxNonMemberRadius(), ns3::zigbee::ZigbeeNwkHeader::SetMulticast(), ns3::zigbee::ZigbeeNwkHeader::SetMulticastMode(), ns3::zigbee::ZigbeeNwkHeader::SetNonMemberRadius(), ns3::zigbee::ZigbeeNwkHeader::SetProtocolVer(), ns3::zigbee::ZigbeeNwkHeader::SetRadius(), ns3::zigbee::ZigbeeNwkHeader::SetSeqNum(), ns3::zigbee::ZigbeeNwkHeader::SetSrcAddr(), and ns3::lrwpan::SHORT_ADDR.
Referenced by SendData(), ns3::zigbee::ZigbeeAps::SendDataGroup(), ns3::zigbee::ZigbeeAps::SendDataUcstBcst(), and ns3::zigbee::ZigbeeAps::SendDataWithBindingTable().
void ns3::zigbee::ZigbeeNwk::NlmeDirectJoinRequest | ( | NlmeDirectJoinRequestParams | params | ) |
Zigbee Specification r22.1.0, section 3.2.2.16 and 3.6.1.4.3 NLME-DIRECT-JOIN.request Allows the next layer of a Zigbee coordinator or router to request to directly join another device to its network.
params | the direct join request params |
Definition at line 2690 of file zigbee-nwk.cc.
References AllocateNetworkAddress(), ns3::zigbee::ALREADY_PRESENT, ns3::Create(), ns3::zigbee::CapabilityInformation::GetDeviceType(), ns3::zigbee::CapabilityInformation::IsAllocateAddrOn(), ns3::zigbee::CapabilityInformation::IsReceiverOnWhenIdle(), ns3::zigbee::NlmeDirectJoinConfirmParams::m_deviceAddr, m_nlmeDirectJoinConfirmCallback, m_nwkEndDeviceTimeoutDefault, m_nwkNeighborTable, ns3::zigbee::NlmeDirectJoinConfirmParams::m_status, ns3::Minutes(), ns3::zigbee::NBR_CHILD, ns3::zigbee::NEIGHBOR_TABLE_FULL, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_WARN, ns3::zigbee::RequestedTimeoutField, ns3::zigbee::ROUTER, ns3::Seconds(), ns3::zigbee::CapabilityInformation::SetCapability(), ns3::zigbee::SUCCESS, ns3::zigbee::ZIGBEE_ENDDEVICE, and ns3::zigbee::ZIGBEE_ROUTER.
void ns3::zigbee::ZigbeeNwk::NlmeJoinRequest | ( | NlmeJoinRequestParams | params | ) |
Zigbee Specification r22.1.0, section 3.2.2.13 NLME-JOIN.request This primitive allows the next higher layer to request to join or rejoin a network, or to change the operating channel for the device while within an operating network.
params | the join request params |
Definition at line 2782 of file zigbee-nwk.cc.
References ns3::zigbee::ASSOCIATION, ns3::zigbee::DIRECT_OR_REJOIN, ns3::lrwpan::EXT_ADDR, m_associateParams, ns3::lrwpan::MlmeAssociateRequestParams::m_capabilityInfo, ns3::lrwpan::MlmeAssociateRequestParams::m_chNum, ns3::lrwpan::MlmeAssociateRequestParams::m_chPage, ns3::lrwpan::MlmeScanRequestParams::m_chPage, ns3::lrwpan::MlmeAssociateRequestParams::m_coordAddrMode, ns3::lrwpan::MlmeAssociateRequestParams::m_coordExtAddr, ns3::lrwpan::MlmeAssociateRequestParams::m_coordPanId, ns3::lrwpan::MlmeAssociateRequestParams::m_coordShortAddr, ns3::zigbee::NlmeJoinConfirmParams::m_enhancedBeacon, ns3::zigbee::NlmeJoinConfirmParams::m_extendedPanId, m_joinParams, m_mac, ns3::zigbee::NlmeJoinConfirmParams::m_macInterfaceIndex, ns3::zigbee::NlmeJoinConfirmParams::m_networkAddress, m_nlmeJoinConfirmCallback, m_nwkCapabilityInformation, m_nwkNeighborTable, m_nwkParentInformation, m_panIdTable, m_pendPrimitiveNwk, ns3::lrwpan::MlmeScanRequestParams::m_scanChannels, ns3::lrwpan::MlmeScanRequestParams::m_scanType, ns3::zigbee::NlmeJoinConfirmParams::m_status, ns3::lrwpan::LrWpanMacBase::MlmeAssociateRequest(), ns3::lrwpan::MLMESCAN_ORPHAN, ns3::lrwpan::LrWpanMacBase::MlmeScanRequest(), ns3::zigbee::NLDE_NLME_NONE, ns3::zigbee::NLME_JOIN, ns3::zigbee::NOT_PERMITED, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_ERROR, NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), and ns3::lrwpan::SHORT_ADDR.
Referenced by NwkNetworkDiscoveryConfirm(), NwkNetworkDiscoveryConfirm(), NwkNetworkDiscoveryConfirm(), NwkNetworkDiscoveryConfirm(), ZigbeeApsDataTestCase::NwkNetworkDiscoveryConfirm(), and ZigbeeRreqRetryTestCase::NwkNetworkDiscoveryConfirm().
void ns3::zigbee::ZigbeeNwk::NlmeNetworkDiscoveryRequest | ( | NlmeNetworkDiscoveryRequestParams | params | ) |
Zigbee Specification r22.1.0, section 3.2.2.3 NLME-NETWORK-DISCOVERY.request Allows the next higher layer to request that the NWK layer discover networks currently operating within the personal operating space (POS).
params | the network discovery request params |
Definition at line 2645 of file zigbee-nwk.cc.
References ns3::lrwpan::MlmeScanRequestParams::m_chPage, m_mac, m_pendPrimitiveNwk, ns3::lrwpan::MlmeScanRequestParams::m_scanChannels, ns3::lrwpan::MlmeScanRequestParams::m_scanDuration, ns3::lrwpan::MlmeScanRequestParams::m_scanType, ns3::lrwpan::MLMESCAN_ACTIVE, ns3::lrwpan::LrWpanMacBase::MlmeScanRequest(), ns3::zigbee::NLME_NET_DISCV, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::Simulator::ScheduleNow().
Referenced by ZigbeeApsDataTestCase::DoRun(), and ZigbeeRreqRetryTestCase::DoRun().
void ns3::zigbee::ZigbeeNwk::NlmeNetworkFormationRequest | ( | NlmeNetworkFormationRequestParams | params | ) |
Zigbee Specification r22.1.0, Section 3.2.2.5 and 3.6.1.1 NLME-NETWORK-FORMATION.request Request the formation of a network in a capable device.
params | the network formation request params |
Definition at line 2397 of file zigbee-nwk.cc.
References ns3::zigbee::INVALID_REQUEST, ns3::lrwpan::MlmeScanRequestParams::m_chPage, m_mac, m_netFormParams, m_netFormParamsGen, m_nlmeNetworkFormationConfirmCallback, m_nwkcCoordinatorCapable, m_pendPrimitiveNwk, ns3::lrwpan::MlmeScanRequestParams::m_scanChannels, ns3::lrwpan::MlmeScanRequestParams::m_scanDuration, ns3::lrwpan::MlmeScanRequestParams::m_scanType, ns3::zigbee::NlmeNetworkFormationConfirmParams::m_status, ns3::lrwpan::MLMESCAN_ACTIVE, ns3::lrwpan::MLMESCAN_ED, ns3::lrwpan::LrWpanMacBase::MlmeScanRequest(), ns3::zigbee::NLDE_NLME_NONE, ns3::zigbee::NLME_NETWORK_FORMATION, NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::Simulator::ScheduleNow().
Referenced by ZigbeeApsDataTestCase::DoRun(), and ZigbeeRreqRetryTestCase::DoRun().
void ns3::zigbee::ZigbeeNwk::NlmeRouteDiscoveryRequest | ( | NlmeRouteDiscoveryRequestParams | params | ) |
Zigbee Specification r22.1.0, section 3.2.2.33.3 and 3.6.3.5 NLME-ROUTE-DISCOVERY.request Allows the next higher layer to initiate route discovery.
params | the route discovery request params |
Definition at line 2494 of file zigbee-nwk.cc.
References ns3::zigbee::ENABLE_ROUTE_DISCOVERY, FindNextHop(), ns3::zigbee::CapabilityInformation::GetDeviceType(), ns3::zigbee::INVALID_REQUEST, IsBroadcastAddress(), ns3::zigbee::NlmeRouteDiscoveryConfirmParams::m_networkStatusCode, m_nlmeRouteDiscoveryConfirmCallback, m_nwkCapabilityInformation, m_nwkcInitialRREQRetries, m_nwkConcentratorRadius, m_nwkcProtocolVersion, m_nwkIsConcentrator, m_nwkMaxDepth, m_nwkNetworkAddress, m_nwkSequenceNumber, m_pendPrimitiveNwk, m_routeRequestId, m_rreqJitter, ns3::zigbee::NlmeRouteDiscoveryConfirmParams::m_status, ns3::zigbee::MANY_TO_ONE_ROUTE, ns3::zigbee::MCST, ns3::MilliSeconds(), ns3::zigbee::NLME_ROUTE_DISCOVERY, ns3::zigbee::NO_ADDRESS, ns3::zigbee::NO_ROUTE_RECORD, ns3::zigbee::NO_ROUTING_CAPACITY, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_WARN, ns3::zigbee::NWK_COMMAND, ProcessManyToOneRoute(), ns3::zigbee::ROUTE_ERROR, ns3::zigbee::ROUTE_FOUND, ns3::zigbee::ROUTE_NOT_FOUND, ns3::zigbee::ROUTE_RECORD, ns3::zigbee::ROUTE_UPDATED, ns3::zigbee::ROUTER, ns3::Simulator::Schedule(), SendRREQ(), ns3::zigbee::CapabilityInformation::SetCapability(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::SetCmdOptManyToOneField(), ns3::zigbee::ZigbeeNwkHeader::SetDiscoverRoute(), ns3::zigbee::ZigbeeNwkHeader::SetDstAddr(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::SetDstAddr(), ns3::zigbee::ZigbeeNwkHeader::SetFrameType(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::SetMulticastField(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::SetPathCost(), ns3::zigbee::ZigbeeNwkHeader::SetProtocolVer(), ns3::zigbee::ZigbeeNwkHeader::SetRadius(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::SetRouteReqId(), ns3::zigbee::ZigbeeNwkHeader::SetSeqNum(), ns3::zigbee::ZigbeeNwkHeader::SetSrcAddr(), ns3::zigbee::SUCCESS, and ns3::zigbee::UCST_BCST.
Referenced by CreateManyToOneRoutes(), and ZigbeeRreqRetryTestCase::DoRun().
void ns3::zigbee::ZigbeeNwk::NlmeStartRouterRequest | ( | NlmeStartRouterRequestParams | params | ) |
Zigbee Specification r22.1.0, section 3.2.2.9 NLME-START-ROUTER.request This primitive allows the next higher layer of a Zigbee router to initiate the activities expected of a Zigbee router including the routing of data framaes, route discovery, and the accepting of request to join the network from other devices.
params | the join request params |
Definition at line 2910 of file zigbee-nwk.cc.
References ns3::zigbee::CapabilityInformation::GetDeviceType(), ns3::zigbee::INVALID_REQUEST, m_mac, m_nlmeStartRouterConfirmCallback, m_nwkCapabilityInformation, m_pendPrimitiveNwk, m_startRouterParams, ns3::zigbee::NlmeStartRouterConfirmParams::m_status, ns3::lrwpan::LrWpanMacBase::MlmeGetRequest(), ns3::zigbee::NLDE_NLME_NONE, ns3::zigbee::NLME_START_ROUTER, NS_ASSERT_MSG, NS_LOG_ERROR, NS_LOG_FUNCTION, ns3::lrwpan::pCurrentChannel, ns3::zigbee::ROUTER, ns3::Simulator::ScheduleNow(), and ns3::zigbee::CapabilityInformation::SetCapability().
Referenced by NwkJoinConfirm(), NwkJoinConfirm(), NwkJoinConfirm(), NwkJoinConfirm(), and ZigbeeRreqRetryTestCase::NwkJoinConfirm().
|
overrideprotectedvirtual |
Notifier called once the ObjectBase is fully constructed.
This method is invoked once all member attributes have been initialized. Subclasses can override this method to be notified of this event but if they do this, they must chain up to their parent's NotifyConstructionCompleted method.
Reimplemented from ns3::ObjectBase.
Definition at line 127 of file zigbee-nwk.cc.
References ns3::CreateObject(), m_bcstJitter, m_beaconPayload, m_countRREQRetries, m_macHandle, m_netFormParams, m_netFormParamsGen, m_nwkAddrAlloc, m_nwkCapabilityInformation, m_nwkcMaxBroadcastJitter, m_nwkcMaxRREQJitter, m_nwkcMinRREQJitter, m_nwkConcentratorDiscoveryTime, m_nwkConcentratorRadius, m_nwkEndDeviceTimeoutDefault, m_nwkExtendedPanId, m_nwkIsConcentrator, m_nwkMaxChildren, m_nwkMaxDepth, m_nwkMaxRouters, m_nwkNetworkAddress, m_nwkNetworkBroadcastDeliveryTime, m_nwkPanId, m_nwkReportConstantCost, m_nwkSequenceNumber, m_nwkStackProfile, m_nwkSymLink, m_nwkUseTreeRouting, m_pendPrimitiveNwk, m_routeExpiryTime, m_routeRequestId, m_rreqJitter, m_scanEnergyThreshold, m_txBufferMaxSize, m_uniformRandomVariable, ns3::zigbee::NLDE_NLME_NONE, NS_LOG_FUNCTION, ns3::Seconds(), ns3::zigbee::STOCHASTIC_ALLOC, and ns3::zigbee::ZIGBEE_PRO.
void ns3::zigbee::ZigbeeNwk::PrintNeighborTable | ( | Ptr< OutputStreamWrapper > | stream | ) | const |
Print the entries in the neighbor table.
stream | The stream object used to print. |
Definition at line 284 of file zigbee-nwk.cc.
References ns3::Time::As(), m_nwkIeeeAddress, m_nwkNeighborTable, m_nwkNetworkAddress, ns3::Simulator::Now(), and ns3::Time::S.
Referenced by CreateManyToOneRoutes(), and SendData().
void ns3::zigbee::ZigbeeNwk::PrintRouteDiscoveryTable | ( | Ptr< OutputStreamWrapper > | stream | ) |
Print the entries in the route discovery table.
stream | The stream object used to print. |
Definition at line 265 of file zigbee-nwk.cc.
References ns3::Time::As(), m_nwkIeeeAddress, m_nwkNetworkAddress, m_nwkRouteDiscoveryTable, ns3::Simulator::Now(), and ns3::Time::S.
Referenced by CreateManyToOneRoutes(), and SendData().
void ns3::zigbee::ZigbeeNwk::PrintRoutingTable | ( | Ptr< OutputStreamWrapper > | stream | ) | const |
Print the entries in the routing table.
stream | The stream object used to print. |
Definition at line 246 of file zigbee-nwk.cc.
References ns3::Time::As(), m_nwkIeeeAddress, m_nwkNetworkAddress, m_nwkRoutingTable, ns3::Simulator::Now(), and ns3::Time::S.
Referenced by CreateManyToOneRoutes(), and SendData().
void ns3::zigbee::ZigbeeNwk::PrintRREQRetryTable | ( | Ptr< OutputStreamWrapper > | stream | ) | const |
Print the entries in the RREQ retry table.
stream | The stream object used to print. |
Definition at line 303 of file zigbee-nwk.cc.
References ns3::Time::As(), m_nwkIeeeAddress, m_nwkNetworkAddress, m_rreqRetryTable, ns3::Simulator::Now(), and ns3::Time::S.
|
private |
Process Many-To-One routes.
In essence, creating new routes or updating existing ones from information contained in the received RREQs.
macSrcAddr | The MAC address received from the previous hop |
pathCost | The path cost accumulated in the route discovery so far. |
nwkHeader | The network header created at the initiator or the received RREQ. |
payload | The payload header created at the initiator or the received RREQ. |
Definition at line 1017 of file zigbee-nwk.cc.
References ns3::Create(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetCmdOptManyToOneField(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetRouteReqId(), ns3::zigbee::ZigbeeNwkHeader::GetSrcAddr(), ns3::zigbee::NlmeRouteDiscoveryConfirmParams::m_networkStatusCode, m_nlmeRouteDiscoveryConfirmCallback, m_nwkcRouteDiscoveryTime, m_nwkRouteDiscoveryTable, m_nwkRoutingTable, m_routeExpiryTime, ns3::zigbee::NlmeRouteDiscoveryConfirmParams::m_status, ns3::zigbee::MANY_TO_ONE_ROUTE, ns3::zigbee::NO_ROUTE_CHANGE, ns3::zigbee::NO_ROUTING_CAPACITY, ns3::Simulator::Now(), NS_LOG_ERROR, ns3::zigbee::ROUTE_ACTIVE, ns3::zigbee::ROUTE_ERROR, ns3::zigbee::ROUTE_RECORD, ns3::zigbee::ROUTE_UPDATED, ns3::zigbee::ROUTE_VALIDATION_UNDERWAY, and ns3::zigbee::TABLE_FULL.
Referenced by NlmeRouteDiscoveryRequest(), and ReceiveRREQ().
|
private |
Process a Multicast Frame received as a member of a multicast group.
See Zigbee specification r22.1.0 Section 3.6.6.3
nwkHeader | The network header of the received multicast frame. |
msdu | The MSDU (MSDU = MAC Service Data Unit) received |
params | The MCPS-DATA.indication parameters associated to the received frame. |
Definition at line 747 of file zigbee-nwk.cc.
References ns3::Mac16Address::ConvertToInt(), ns3::Create(), ns3::zigbee::ENDDEVICE, ns3::zigbee::CapabilityInformation::GetDeviceType(), ns3::zigbee::ZigbeeNwkHeader::GetDstAddr(), ns3::zigbee::ZigbeeNwkHeader::GetMaxNonMemberRadius(), ns3::zigbee::ZigbeeNwkHeader::GetNonMemberRadius(), ns3::zigbee::ZigbeeNwkHeader::GetSeqNum(), ns3::zigbee::ZigbeeNwkHeader::GetSrcAddr(), m_bcstJitter, m_btt, ns3::zigbee::NldeDataIndicationParams::m_dstAddr, ns3::zigbee::NldeDataIndicationParams::m_dstAddrMode, ns3::zigbee::NldeDataIndicationParams::m_linkQuality, m_nldeDataIndicationCallback, ns3::zigbee::NldeDataIndicationParams::m_nsduLength, m_nwkCapabilityInformation, m_nwkGroupIdTable, m_nwkNetworkBroadcastDeliveryTime, ns3::zigbee::NldeDataIndicationParams::m_rxTime, ns3::zigbee::NldeDataIndicationParams::m_securityUse, ns3::zigbee::NldeDataIndicationParams::m_srcAddr, ns3::zigbee::MCST, ns3::zigbee::MEMBER, ns3::MilliSeconds(), ns3::Simulator::Now(), NS_LOG_FUNCTION, ns3::Simulator::Schedule(), SendDataBcst(), ns3::zigbee::ZigbeeNwkHeader::SetMulticastMode(), and ns3::zigbee::ZigbeeNwkHeader::SetNonMemberRadius().
Referenced by McpsDataIndication().
|
private |
Process a Multicast Frame received as a non member of a multicast group.
See Zigbee specification r22.1.0 Section 3.6.6.4
nwkHeader | The network header of the received multicast frame. |
msdu | The MSDU (MSDU = MAC Service Data Unit) received |
params | The MCPS-DATA.indication parameters associated to the received frame. |
Definition at line 835 of file zigbee-nwk.cc.
References ns3::zigbee::ZigbeeNwkHeader::GetDstAddr(), ns3::Mac16Address::IsBroadcast(), ns3::lrwpan::McpsDataRequestParams::m_dstAddr, ns3::lrwpan::McpsDataRequestParams::m_dstAddrMode, ns3::lrwpan::McpsDataRequestParams::m_dstPanId, m_mac, m_macHandle, ns3::lrwpan::McpsDataRequestParams::m_msduHandle, m_nwkPanId, m_nwkRoutingTable, ns3::lrwpan::McpsDataRequestParams::m_srcAddrMode, ns3::lrwpan::McpsDataRequestParams::m_txOptions, ns3::lrwpan::LrWpanMacBase::McpsDataRequest(), NS_ASSERT_MSG, NS_LOG_FUNCTION, ns3::zigbee::ROUTE_ACTIVE, ns3::zigbee::ROUTE_VALIDATION_UNDERWAY, ns3::Simulator::ScheduleNow(), and ns3::lrwpan::SHORT_ADDR.
Referenced by McpsDataIndication().
|
private |
Handles the reception of a route reply command.
See Zigbee specification r22.1.0, Section 3.6.3.5.3
macSrcAddr | The MAC source address of this reply (a.k.a. previous hop) |
nwkHeader | The received network Header |
payload | The received route reply command payload |
linkCost | The link cost associated to the received RREP |
Definition at line 611 of file zigbee-nwk.cc.
References BufferTxPkt(), ns3::Create(), DequeuePendingTx(), ns3::zigbee::ZigbeePayloadRouteReplyCommand::GetOrigAddr(), ns3::zigbee::ZigbeePayloadRouteReplyCommand::GetPathCost(), ns3::zigbee::ZigbeePayloadRouteReplyCommand::GetRespAddr(), ns3::zigbee::ZigbeePayloadRouteReplyCommand::GetRouteReqId(), ns3::lrwpan::McpsDataRequestParams::m_dstAddr, ns3::lrwpan::McpsDataRequestParams::m_dstAddrMode, ns3::lrwpan::McpsDataRequestParams::m_dstPanId, m_mac, m_macHandle, ns3::lrwpan::McpsDataRequestParams::m_msduHandle, m_nlmeRouteDiscoveryConfirmCallback, m_nwkNetworkAddress, m_nwkPanId, m_nwkRouteDiscoveryTable, m_nwkRoutingTable, m_pendingTxQueue, m_pendPrimitiveNwk, m_rreqRetryTable, ns3::lrwpan::McpsDataRequestParams::m_srcAddrMode, ns3::zigbee::NlmeRouteDiscoveryConfirmParams::m_status, ns3::lrwpan::McpsDataRequestParams::m_txOptions, ns3::lrwpan::LrWpanMacBase::McpsDataRequest(), ns3::zigbee::NLDE_NLME_NONE, ns3::zigbee::NLME_ROUTE_DISCOVERY, NS_LOG_DEBUG, NS_LOG_ERROR, NS_LOG_FUNCTION, ns3::zigbee::ROUTE_ACTIVE, ns3::zigbee::ROUTE_DISCOVERY_UNDERWAY, ns3::zigbee::ROUTE_VALIDATION_UNDERWAY, ns3::Simulator::ScheduleNow(), SendRREP(), ns3::lrwpan::SHORT_ADDR, and ns3::zigbee::SUCCESS.
Referenced by McpsDataIndication().
|
private |
Handles the reception of a route request command.
See Zigbee specification r22.1.0, Section 3.6.3.5.2
macSrcAddr | The MAC header source address |
nwkHeader | The received network Header |
payload | The received route request command payload |
linkCost | The link cost associated to the received RREQ |
Definition at line 534 of file zigbee-nwk.cc.
References FindNextHop(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetCmdOptManyToOneField(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetDstAddr(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetPathCost(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetRouteReqId(), ns3::zigbee::ZigbeeNwkHeader::GetSrcAddr(), m_nwkcRREQRetries, m_nwkNetworkAddress, m_nwkSequenceNumber, m_routeRequestId, m_rreqJitter, ns3::zigbee::MANY_TO_ONE_ROUTE, ns3::MilliSeconds(), ns3::zigbee::NO_MANY_TO_ONE, NS_LOG_DEBUG, NS_LOG_FUNCTION, ProcessManyToOneRoute(), ns3::zigbee::ROUTE_FOUND, ns3::zigbee::ROUTE_NOT_FOUND, ns3::zigbee::ROUTE_UPDATED, ns3::Simulator::Schedule(), SendRREP(), SendRREQ(), and ns3::zigbee::ZigbeePayloadRouteRequestCommand::SetPathCost().
Referenced by McpsDataIndication().
Retrieves a previously DATA frame buffered in the TxPkt buffer.
If the frame is successfully retrieved, the entry is removed from the TxPkt buffer.
macHandle | The mac layer handle (msdu handle) associated to this frame. |
txPkt | The packet buffered in the TxPkt buffer. |
Definition at line 3072 of file zigbee-nwk.cc.
References m_txBuffer.
Referenced by McpsDataConfirm().
Send a data broadcast packet, and add a record to the broadcast transaction table (BTT).
packet | The NPDU (nwkHeader + data payload) to transmit. |
nwkHandle | The NWK handle associated to this packet (nsdu handle). A handle of 0 implies that the unicast transmission is a retransmission and do not requires a handle which is used to identify a packet in confirmations to requests (NLDE-DATA.confirm). |
Definition at line 1214 of file zigbee-nwk.cc.
References BufferTxPkt(), ns3::lrwpan::McpsDataRequestParams::m_dstAddr, ns3::lrwpan::McpsDataRequestParams::m_dstAddrMode, ns3::lrwpan::McpsDataRequestParams::m_dstPanId, m_mac, m_macHandle, ns3::lrwpan::McpsDataRequestParams::m_msduHandle, m_nwkPanId, ns3::lrwpan::McpsDataRequestParams::m_srcAddrMode, ns3::lrwpan::LrWpanMacBase::McpsDataRequest(), ns3::Simulator::ScheduleNow(), and ns3::lrwpan::SHORT_ADDR.
Referenced by McpsDataConfirm(), McpsDataIndication(), NldeDataRequest(), and ReceiveMulticastMemberFrame().
Send a data multicast packet to all the members of a multicast group.
packet | The NPDU (nwkHeader + data payload) to transmit. |
nwkHandle | The NWK handle associated to this packet (nsdu handle). A handle of 0 implies that the unicast transmission is a retransmission and do not requires a handle which is used to identify a packet in confirmations to requests (NLDE-DATA.confirm). |
Send a data unicast packet, and if necessary look for the next hop route and store the pending data transmission until a route is found.
packet | The NPDU (nwkHeader + data payload) to transmit. |
nwkHandle | The NWK handle associated to this packet (nsdu handle). A handle of 0 implies that the unicast transmission is a retransmission and do not requires a handle which is used to identify a packet in confirmations to requests (NLDE-DATA.confirm). |
Definition at line 1127 of file zigbee-nwk.cc.
References BufferTxPkt(), EnqueuePendingTx(), FindNextHop(), ns3::zigbee::ZigbeeNwkHeader::GetDiscoverRoute(), ns3::zigbee::ZigbeeNwkHeader::GetDstAddr(), ns3::zigbee::ZigbeeNwkHeader::GetRadius(), ns3::zigbee::ZigbeeNwkHeader::IsMulticast(), ns3::lrwpan::McpsDataRequestParams::m_dstAddr, ns3::lrwpan::McpsDataRequestParams::m_dstAddrMode, ns3::lrwpan::McpsDataRequestParams::m_dstPanId, m_mac, m_macHandle, ns3::lrwpan::McpsDataRequestParams::m_msduHandle, m_nwkcInitialRREQRetries, m_nwkcProtocolVersion, m_nwkMaxDepth, m_nwkNetworkAddress, m_nwkPanId, m_nwkSequenceNumber, m_routeRequestId, m_rreqJitter, ns3::lrwpan::McpsDataRequestParams::m_srcAddrMode, ns3::lrwpan::McpsDataRequestParams::m_txOptions, ns3::lrwpan::LrWpanMacBase::McpsDataRequest(), ns3::MilliSeconds(), NS_LOG_FUNCTION, ns3::zigbee::NWK_COMMAND, ns3::zigbee::ROUTE_FOUND, ns3::zigbee::ROUTE_NOT_FOUND, ns3::Simulator::Schedule(), ns3::Simulator::ScheduleNow(), SendRREQ(), ns3::zigbee::ZigbeeNwkHeader::SetDiscoverRoute(), ns3::zigbee::ZigbeeNwkHeader::SetDstAddr(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::SetDstAddr(), ns3::zigbee::ZigbeeNwkHeader::SetFrameType(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::SetMulticastField(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::SetPathCost(), ns3::zigbee::ZigbeeNwkHeader::SetProtocolVer(), ns3::zigbee::ZigbeeNwkHeader::SetRadius(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::SetRouteReqId(), ns3::zigbee::ZigbeeNwkHeader::SetSeqNum(), ns3::zigbee::ZigbeeNwkHeader::SetSrcAddr(), and ns3::lrwpan::SHORT_ADDR.
Referenced by McpsDataIndication(), and NldeDataRequest().
|
private |
Construct and send a route reply command.
See Zigbee specification r22.1.0, Section 3.4.2
nextHop | The address of the next hop in the path back to the RREQ originator. |
originator | The address of the originator device of the first RREQ. |
responder | The address of the first device responding to the RREQ with a RREP. |
rreqId | The RREQ identifier of the originator RREQ. |
pathcost | The sum value of link costs along the way. |
Definition at line 3286 of file zigbee-nwk.cc.
References ns3::Create(), ns3::zigbee::ENABLE_ROUTE_DISCOVERY, m_mac, m_macHandle, m_nwkcProtocolVersion, m_nwkMaxDepth, m_nwkNetworkAddress, m_nwkPanId, m_nwkSequenceNumber, ns3::lrwpan::LrWpanMacBase::McpsDataRequest(), NS_LOG_FUNCTION, ns3::zigbee::NWK_COMMAND, ns3::zigbee::ROUTE_REP_CMD, ns3::Simulator::ScheduleNow(), ns3::zigbee::ZigbeeNwkHeader::SetDiscoverRoute(), ns3::zigbee::ZigbeeNwkHeader::SetDstAddr(), ns3::zigbee::ZigbeeNwkHeader::SetFrameType(), ns3::zigbee::ZigbeePayloadRouteReplyCommand::SetOrigAddr(), ns3::zigbee::ZigbeePayloadRouteReplyCommand::SetPathCost(), ns3::zigbee::ZigbeeNwkHeader::SetProtocolVer(), ns3::zigbee::ZigbeeNwkHeader::SetRadius(), ns3::zigbee::ZigbeePayloadRouteReplyCommand::SetRespAddr(), ns3::zigbee::ZigbeePayloadRouteReplyCommand::SetRouteReqId(), ns3::zigbee::ZigbeeNwkHeader::SetSeqNum(), ns3::zigbee::ZigbeeNwkHeader::SetSrcAddr(), and ns3::lrwpan::SHORT_ADDR.
Referenced by ReceiveRREP(), and ReceiveRREQ().
|
private |
Send a route request command.
See Zigbee specification r22.1.0, Section 3.4.1
nwkHeader | The network header of the RREQ packet to send |
payload | The payload header of the RREQ packet to send |
rreqRetries | The maximum number of retries the broadcast transmission of a route request command frame is retried. Only valid for non Many-To-One RREQs. |
Definition at line 3199 of file zigbee-nwk.cc.
References ns3::Create(), ns3::Mac16Address::GetBroadcast(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetCmdOptManyToOneField(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetDstAddr(), ns3::zigbee::ZigbeeNwkHeader::GetRadius(), ns3::zigbee::ZigbeePayloadRouteRequestCommand::GetRouteReqId(), m_mac, m_macHandle, m_nwkcRREQRetryInterval, m_nwkPanId, m_rreqJitter, m_rreqRetriesExhaustedTrace, m_rreqRetryTable, ns3::lrwpan::LrWpanMacBase::McpsDataRequest(), ns3::MilliSeconds(), ns3::zigbee::NO_MANY_TO_ONE, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::zigbee::ROUTE_REQ_CMD, ns3::Simulator::Schedule(), ns3::Simulator::ScheduleNow(), SendRREQ(), and ns3::lrwpan::SHORT_ADDR.
Referenced by NlmeRouteDiscoveryRequest(), ReceiveRREQ(), SendDataUcst(), and SendRREQ().
void ns3::zigbee::ZigbeeNwk::SetGroupTable | ( | Ptr< ZigbeeGroupTable > | groupTable | ) |
Get the group table used by this Zigbee NWK.
groupTable | The pointer to the group table to set. |
Definition at line 234 of file zigbee-nwk.cc.
References m_nwkGroupIdTable.
void ns3::zigbee::ZigbeeNwk::SetMac | ( | Ptr< lrwpan::LrWpanMacBase > | mac | ) |
Set the underlying MAC to use in this Zigbee NWK.
mac | The pointer to the underlying LrWpan MAC to set to this Zigbee NWK |
Definition at line 228 of file zigbee-nwk.cc.
References m_mac.
void ns3::zigbee::ZigbeeNwk::SetNldeDataConfirmCallback | ( | NldeDataConfirmCallback | c | ) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer).
The callback implements the callback used in a NLDE-DATA.confirm
c | the NldeDataConfirm callback |
Definition at line 2951 of file zigbee-nwk.cc.
References m_nldeDataConfirmCallback.
void ns3::zigbee::ZigbeeNwk::SetNldeDataIndicationCallback | ( | NldeDataIndicationCallback | c | ) |
Set the callback for the end of a RX, as part of the interconnections between the NWK and the APS sublayer.
The callback implements the callback used in a NLDE-DATA.indication.
c | the NldeDataIndication callback |
Definition at line 2945 of file zigbee-nwk.cc.
References m_nldeDataIndicationCallback.
void ns3::zigbee::ZigbeeNwk::SetNlmeDirectJoinConfirmCallback | ( | NlmeDirectJoinConfirmCallback | c | ) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer).
The callback implements the callback used in a NLME-DIRECT-JOIN.confirm
c | the NlmeDirectJoinConfirm callback |
Definition at line 2975 of file zigbee-nwk.cc.
References m_nlmeDirectJoinConfirmCallback.
void ns3::zigbee::ZigbeeNwk::SetNlmeJoinConfirmCallback | ( | NlmeJoinConfirmCallback | c | ) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer).
The callback implements the callback used in a NLME-JOIN.confirm
c | the NlmeJoinConfirm callback |
Definition at line 2981 of file zigbee-nwk.cc.
References m_nlmeJoinConfirmCallback.
void ns3::zigbee::ZigbeeNwk::SetNlmeJoinIndicationCallback | ( | NlmeJoinIndicationCallback | c | ) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer).
The callback implements the callback used in a NLME-JOIN.indication
c | the NlmeJoinIndication callback |
Definition at line 2987 of file zigbee-nwk.cc.
References m_nlmeJoinIndicationCallback.
void ns3::zigbee::ZigbeeNwk::SetNlmeNetworkDiscoveryConfirmCallback | ( | NlmeNetworkDiscoveryConfirmCallback | c | ) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer).
The callback implements the callback used in a NLME-NETWORK-DISCOVERY.confirm
c | the NlmeNetworkDiscoveryConfirm callback |
Definition at line 2963 of file zigbee-nwk.cc.
References m_nlmeNetworkDiscoveryConfirmCallback.
void ns3::zigbee::ZigbeeNwk::SetNlmeNetworkFormationConfirmCallback | ( | NlmeNetworkFormationConfirmCallback | c | ) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer).
The callback implements the callback used in a NLME-NETWORK-FORMATION.confirm
c | the NlmeNetworkFormationConfirm callback |
Definition at line 2957 of file zigbee-nwk.cc.
References m_nlmeNetworkFormationConfirmCallback.
void ns3::zigbee::ZigbeeNwk::SetNlmeRouteDiscoveryConfirmCallback | ( | NlmeRouteDiscoveryConfirmCallback | c | ) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer).
The callback implements the callback used in a NLME-ROUTE-DISCOVERY.confirm
c | the NlmeRouteDiscoveryConfirm callback |
Definition at line 2969 of file zigbee-nwk.cc.
References m_nlmeRouteDiscoveryConfirmCallback.
void ns3::zigbee::ZigbeeNwk::SetNlmeStartRouterConfirmCallback | ( | NlmeStartRouterConfirmCallback | c | ) |
Set the callback as part of the interconnections between the NWK and the APS sublayer (or any other higher layer).
The callback implements the callback used in a NLME-START-ROUTER.confirm
c | the NlmeStartRouterConfirm callback |
Definition at line 2993 of file zigbee-nwk.cc.
References m_nlmeStartRouterConfirmCallback.
|
private |
Updates the content of the beacon payload with the most recent information in the NWK.
Definition at line 3367 of file zigbee-nwk.cc.
References ns3::Create(), m_beaconPayload, m_mac, ns3::lrwpan::macBeaconPayload, ns3::lrwpan::LrWpanMacBase::MlmeSetRequest(), NS_LOG_FUNCTION, and ns3::Simulator::ScheduleNow().
Referenced by MlmeSetConfirm().
|
private |
Create and store a MAC beacon payload, then updates its registered size in the MAC.
This is typically followed by updating the content of the beacon payload.
Definition at line 3341 of file zigbee-nwk.cc.
References ns3::Create(), m_beaconPayload, m_mac, m_nwkcCoordinatorCapable, m_nwkExtendedPanId, m_nwkStackProfile, ns3::lrwpan::macBeaconPayloadLength, ns3::lrwpan::LrWpanMacBase::MlmeSetRequest(), NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), ns3::zigbee::ZigbeeBeaconPayload::SetDeviceDepth(), ns3::zigbee::ZigbeeBeaconPayload::SetEndDevCapacity(), ns3::zigbee::ZigbeeBeaconPayload::SetExtPanId(), ns3::zigbee::ZigbeeBeaconPayload::SetRouterCapacity(), ns3::zigbee::ZigbeeBeaconPayload::SetStackProfile(), and ns3::zigbee::ZigbeeBeaconPayload::SetTxOffset().
Referenced by MlmeCommStatusIndication(), MlmeGetConfirm(), and MlmeStartConfirm().
|
private |
Temporarily store MLME-ASSOCIATE.request parameters during a NLME-JOIN.request.
Definition at line 1240 of file zigbee-nwk.h.
Referenced by MlmeAssociateConfirm(), and NlmeJoinRequest().
|
private |
Provides uniform random values for the broadcast jitter.
Definition at line 1583 of file zigbee-nwk.h.
Referenced by NotifyConstructionCompleted(), and ReceiveMulticastMemberFrame().
Points to the beacon payload used during the network formation process.
Definition at line 1594 of file zigbee-nwk.h.
Referenced by NotifyConstructionCompleted(), UpdateBeaconPayload(), and UpdateBeaconPayloadLength().
|
private |
The broadcast transaction table.
See Zigbee specification r22.1.0, 3.6.5
Definition at line 1293 of file zigbee-nwk.h.
Referenced by DoDispose(), McpsDataConfirm(), McpsDataIndication(), NldeDataRequest(), and ReceiveMulticastMemberFrame().
|
private |
Count the number of retries this device has transmitted an RREQ.
Definition at line 1646 of file zigbee-nwk.h.
Referenced by NotifyConstructionCompleted().
|
private |
Used to store the value of the PHY current channel.
Definition at line 1599 of file zigbee-nwk.h.
Referenced by MlmeGetConfirm().
|
private |
Contains the list of channels with acceptable energy levels in a bitmap form.
This is the result of an Energy Detection (ED) scan during a NLME-NETWORK-FORMATION.request
Definition at line 1253 of file zigbee-nwk.h.
Referenced by MlmeScanConfirm().
|
private |
Temporarily store the NLME-JOIN.indication parameters while the join operations (asocciation) conclude in the coordinator or router.
Definition at line 1228 of file zigbee-nwk.h.
Referenced by MlmeAssociateIndication(), MlmeCommStatusIndication(), MlmeOrphanIndication(), and MlmeSetConfirm().
|
private |
The parameters used during a NLME-JOIN.request.
These parameters are stored here while the scanning operations and network joining procedures take place.
Definition at line 1222 of file zigbee-nwk.h.
Referenced by MlmeAssociateConfirm(), MlmeGetConfirm(), MlmeScanConfirm(), and NlmeJoinRequest().
|
private |
Pointer to the underlying MAC connected to this Zigbee NWK.
Definition at line 1078 of file zigbee-nwk.h.
Referenced by DoDispose(), GetMac(), MlmeAssociateIndication(), MlmeGetConfirm(), MlmeOrphanIndication(), MlmeScanConfirm(), MlmeSetConfirm(), NldeDataRequest(), NlmeJoinRequest(), NlmeNetworkDiscoveryRequest(), NlmeNetworkFormationRequest(), NlmeStartRouterRequest(), ReceiveMulticastNonMemberFrame(), ReceiveRREP(), SendDataBcst(), SendDataUcst(), SendRREP(), SendRREQ(), SetMac(), UpdateBeaconPayload(), and UpdateBeaconPayloadLength().
|
private |
The handle assigned when doing a transmission request to the MAC layer.
Definition at line 1856 of file zigbee-nwk.h.
Referenced by NldeDataRequest(), NotifyConstructionCompleted(), ReceiveMulticastNonMemberFrame(), ReceiveRREP(), SendDataBcst(), SendDataUcst(), SendRREP(), and SendRREQ().
|
private |
The maximum size of the pending transaction queue.
Definition at line 1101 of file zigbee-nwk.h.
Referenced by EnqueuePendingTx(), and GetTypeId().
|
private |
The parameters used during a NLME-NETWORK-FORMATION.request.
These parameters are stored here while the scanning operations and network initialization procedures take place.
Definition at line 1208 of file zigbee-nwk.h.
Referenced by MlmeGetConfirm(), MlmeScanConfirm(), MlmeSetConfirm(), MlmeStartConfirm(), NlmeNetworkFormationRequest(), and NotifyConstructionCompleted().
|
private |
The values temporarily stored as a result of the initial steps of a NLME-NETWORK-FORMATION.request (i.e.
after the first energy scan) Page, Channel, PanId.
Definition at line 1215 of file zigbee-nwk.h.
Referenced by MlmeGetConfirm(), MlmeScanConfirm(), MlmeSetConfirm(), MlmeStartConfirm(), NlmeNetworkFormationRequest(), and NotifyConstructionCompleted().
|
private |
Temporarily store beacons information from POS routers and PAN coordinators during a network-discovery process.
Definition at line 1589 of file zigbee-nwk.h.
Referenced by MlmeBeaconNotifyIndication(), and MlmeScanConfirm().
|
private |
This callback is used to respond to data PDU (NSDU) transfer request issued by APS sublayer to the NWK (or a layer higher to NWK).
See Zigbee specification r22.1.0, section 3.2.1.2.
Definition at line 1148 of file zigbee-nwk.h.
Referenced by DoDispose(), McpsDataConfirm(), NldeDataRequest(), and SetNldeDataConfirmCallback().
|
private |
This callback is used to notify incoming packets to the APS sublayer.
See Zigbee Specification r22.1.0, section 6.2.1.3.
Definition at line 1141 of file zigbee-nwk.h.
Referenced by DoDispose(), McpsDataIndication(), ReceiveMulticastMemberFrame(), and SetNldeDataIndicationCallback().
|
private |
This callback is used by the next layer of a zigbee coordinator or router to be notified of the result of its request to directly join another device to its network See Zigbee specification r22.1.0, section 3.2.2.17.
Definition at line 1177 of file zigbee-nwk.h.
Referenced by DoDispose(), NlmeDirectJoinRequest(), and SetNlmeDirectJoinConfirmCallback().
|
private |
This callback is used by the next layer of a zigbee router or device to be notified of the result of its request to join another device network.
See Zigbee specification r22.1.0, section 3.2.2.15
Definition at line 1185 of file zigbee-nwk.h.
Referenced by DoDispose(), MlmeAssociateConfirm(), MlmeGetConfirm(), MlmeScanConfirm(), NlmeJoinRequest(), and SetNlmeJoinConfirmCallback().
|
private |
This callback is used by the next layer of a zigbee coordinator or router to be notified when a new device has successfully joined its network by association or rejoined procedures.
See Zigbee specification r22.1.0, section 3.2.2.14
Definition at line 1193 of file zigbee-nwk.h.
Referenced by DoDispose(), MlmeCommStatusIndication(), MlmeSetConfirm(), and SetNlmeJoinIndicationCallback().
|
private |
This callback is used to to notify the results of a network formation to the APS sublayer making the request.
See Zigbee specification r22.1.0, section 3.2.2.4
Definition at line 1162 of file zigbee-nwk.h.
Referenced by DoDispose(), MlmeScanConfirm(), and SetNlmeNetworkDiscoveryConfirmCallback().
|
private |
This callback is used to to notify the results of a network formation to the APS sublayer making the request.
See Zigbee specification r22.1.0, section 3.2.2.5
Definition at line 1155 of file zigbee-nwk.h.
Referenced by DoDispose(), MlmeGetConfirm(), MlmeScanConfirm(), MlmeSetConfirm(), MlmeStartConfirm(), NlmeNetworkFormationRequest(), and SetNlmeNetworkFormationConfirmCallback().
|
private |
This callback is used to to notify the results of a network formation to the APS sublayer making the request.
See Zigbee specification r22.1.0, section 3.2.2.34
Definition at line 1169 of file zigbee-nwk.h.
Referenced by DoDispose(), FindNextHop(), NlmeRouteDiscoveryRequest(), ProcessManyToOneRoute(), ReceiveRREP(), and SetNlmeRouteDiscoveryConfirmCallback().
|
private |
This callback is used by the next layer of a zigbee router or device to be notified of the result of its request to initiate activities as a zigbee router See Zigbee specification r22.1.0, section 3.2.2.10.
Definition at line 1201 of file zigbee-nwk.h.
Referenced by DoDispose(), MlmeSetConfirm(), MlmeStartConfirm(), NlmeStartRouterRequest(), and SetNlmeStartRouterConfirmCallback().
|
private |
A value that determines the method used to assign addresses.
See Zigbee specification r22.1.0, Table 3-58
Definition at line 1688 of file zigbee-nwk.h.
Referenced by AllocateNetworkAddress(), and NotifyConstructionCompleted().
|
private |
This NIB attribute contains the device capability information established at network joining time.
See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1770 of file zigbee-nwk.h.
Referenced by McpsDataIndication(), MlmeGetConfirm(), MlmeScanConfirm(), NldeDataRequest(), NlmeJoinRequest(), NlmeRouteDiscoveryRequest(), NlmeStartRouterRequest(), NotifyConstructionCompleted(), and ReceiveMulticastMemberFrame().
|
private |
Indicates whether the device is capable of becoming the ZigBee coordinator Zigbee Specification r22.1.0, Table 3-57.
Defined as a constant in the specification but here is defined as variable to be able to change the devices capabilities.
Definition at line 1610 of file zigbee-nwk.h.
Referenced by GetTypeId(), NlmeNetworkFormationRequest(), and UpdateBeaconPayloadLength().
|
private |
The number of times the first broadcast transmission of a route request command frame is retried.
Zigbee Specification r22.1.0, Table 3-57. Defined as a constant in the specification but here is defined as variable to allow the selection of values per device.
Definition at line 1632 of file zigbee-nwk.h.
Referenced by GetTypeId(), NlmeRouteDiscoveryRequest(), and SendDataUcst().
|
private |
Minimum Broadcast jitter time (msec).
Zigbee Specification r22.1.0, Table 3-57. Defined as a constant in the specification but here is defined as variable to allow the selection of values per device.
Definition at line 1678 of file zigbee-nwk.h.
Referenced by GetTypeId(), and NotifyConstructionCompleted().
|
private |
Maximum Route request broadcast jitter time (msec).
Zigbee Specification r22.1.0, Table 3-57. Defined as a constant in the specification but here is defined as variable to allow the selection of values per device.
Definition at line 1670 of file zigbee-nwk.h.
Referenced by GetTypeId(), and NotifyConstructionCompleted().
|
private |
Minimum Route request broadcast jitter time (msec).
Zigbee Specification r22.1.0, Table 3-57. Defined as a constant in the specification but here is defined as variable to allow the selection of values per device.
Definition at line 1662 of file zigbee-nwk.h.
Referenced by GetTypeId(), and NotifyConstructionCompleted().
|
private |
The time in seconds between concentrator route discoveries.
If set to 0x0000, the discoveries are done at the start up and by the next higher layer only. See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1792 of file zigbee-nwk.h.
Referenced by NotifyConstructionCompleted().
|
private |
This NIB attribute indicates the hop count radius for concentrator route discoveries (Used by Many-To-One routing).
See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1784 of file zigbee-nwk.h.
Referenced by NlmeRouteDiscoveryRequest(), and NotifyConstructionCompleted().
|
private |
Indicates the version of the ZigBee NWK protocol in the device.
Zigbee Specification r22.1.0, Table 3-57. Defined as a constant in the specification but here is defined as variable to be able to change the devices capabilities.
Definition at line 1617 of file zigbee-nwk.h.
Referenced by GetTypeId(), NlmeRouteDiscoveryRequest(), SendDataUcst(), and SendRREP().
|
private |
Indicates the duration until a route discovery expires.
Zigbee Specification r22.1.0, Table 3-57. Defined as a constant in the specification but here is defined as variable to be able to change the devices capabilities.
Definition at line 1624 of file zigbee-nwk.h.
Referenced by FindNextHop(), GetTypeId(), and ProcessManyToOneRoute().
|
private |
The number of times the broadcast transmission of a route request command frame is retried on relay by an intermediate Zigbee router or coordinator.
Zigbee Specification r22.1.0, Table 3-57. Defined as a constant in the specification but here is defined as variable to allow the selection of values per device.
Definition at line 1641 of file zigbee-nwk.h.
Referenced by GetTypeId(), and ReceiveRREQ().
|
private |
Duration between retries of a broadcast route request command frame.
Zigbee Specification r22.1.0, Table 3-57. Defined as a constant in the specification but here is defined as variable to allow the selection of values per device.
Definition at line 1654 of file zigbee-nwk.h.
Referenced by GetTypeId(), and SendRREQ().
|
private |
Indicates the index of the requested timeout field that contains the timeout in minutes for any end device that does not negotiate a different timeout value.
See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1727 of file zigbee-nwk.h.
Referenced by MlmeAssociateIndication(), MlmeBeaconNotifyIndication(), NlmeDirectJoinRequest(), and NotifyConstructionCompleted().
|
private |
The extended PAN identifier for the PAN of which the device is a member.
A value of 0 means that the extended PAN identifier is unknown. See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1734 of file zigbee-nwk.h.
Referenced by MlmeAssociateConfirm(), MlmeAssociateIndication(), MlmeGetConfirm(), MlmeScanConfirm(), MlmeStartConfirm(), NotifyConstructionCompleted(), and UpdateBeaconPayloadLength().
|
private |
The Group Table used by this Zigbee NWK.
See Zigbee specification r22.1.0, 3.6.3.2
Definition at line 1299 of file zigbee-nwk.h.
Referenced by FindNextHop(), McpsDataIndication(), NldeDataRequest(), ReceiveMulticastMemberFrame(), and SetGroupTable().
|
private |
The EUI 64 bit IEEE address of the local device.
See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1747 of file zigbee-nwk.h.
Referenced by GetIeeeAddress(), MlmeGetConfirm(), PrintNeighborTable(), PrintRouteDiscoveryTable(), PrintRoutingTable(), and PrintRREQRetryTable().
|
private |
This NIB attribute is a flag determining if this device is a concentrator (Use in Many-To-One routing).
See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1777 of file zigbee-nwk.h.
Referenced by NlmeRouteDiscoveryRequest(), and NotifyConstructionCompleted().
|
private |
The maximum number of retries allowed after a broadcast transmission failure See Zigbe Specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1824 of file zigbee-nwk.h.
Referenced by GetTypeId(), and McpsDataConfirm().
|
private |
The number of children a device is allowed to have on its current network.
Default value defined in the stack profile. See Zigbee PRO/2007 Layer protocol implementation conformance statement (PICS) and stack profiles (Section 10.4.2.1)
Definition at line 1704 of file zigbee-nwk.h.
Referenced by NotifyConstructionCompleted().
|
private |
The depth a device can have.
Default value defined in the stack profile. See Zigbee specification r22.1.0 Layer protocol implementation conformance statement (PICS) and stack profiles (Section 10.4.2.1)
Definition at line 1696 of file zigbee-nwk.h.
Referenced by NldeDataRequest(), NlmeRouteDiscoveryRequest(), NotifyConstructionCompleted(), SendDataUcst(), and SendRREP().
|
private |
The number of routers any one device is allowed to have as children.
This is determined by the zigbee coordinator for all devices in the network. This value is not used if stochastic address allocation is used. Default value defined in the stack profile. See Zigbee PRO/2007 Layer protocol implementation conformance statement (PICS) and stack profiles (Section 10.4.2.1)
Definition at line 1714 of file zigbee-nwk.h.
Referenced by NotifyConstructionCompleted().
|
private |
The network layer neighbor table See Zigbee specification r22.1.0, 3.6.1.5.
Definition at line 1264 of file zigbee-nwk.h.
Referenced by DoDispose(), FindNextHop(), FindRoute(), McpsDataIndication(), MlmeAssociateConfirm(), MlmeAssociateIndication(), MlmeBeaconNotifyIndication(), MlmeOrphanIndication(), NldeDataRequest(), NlmeDirectJoinRequest(), NlmeJoinRequest(), and PrintNeighborTable().
|
private |
The 16-bit address that the device uses to communicate with the PAN.
This attribute reflects the value of the MAC PIB attribute macShortAddress See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1741 of file zigbee-nwk.h.
Referenced by FindNextHop(), GetNetworkAddress(), McpsDataConfirm(), McpsDataIndication(), MlmeAssociateConfirm(), MlmeGetConfirm(), MlmeScanConfirm(), MlmeStartConfirm(), NldeDataRequest(), NlmeRouteDiscoveryRequest(), NotifyConstructionCompleted(), PrintNeighborTable(), PrintRouteDiscoveryTable(), PrintRoutingTable(), PrintRREQRetryTable(), ReceiveRREP(), ReceiveRREQ(), SendDataUcst(), and SendRREP().
|
private |
Time duration that a broadcast message needs to encompass the entire network.
Its default value is calculated based on other NIB attributes. See Zigbe Specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1839 of file zigbee-nwk.h.
Referenced by McpsDataIndication(), NldeDataRequest(), NotifyConstructionCompleted(), and ReceiveMulticastMemberFrame().
|
private |
This NIB attribute should, at all times, have the same value as macPANId .
See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1753 of file zigbee-nwk.h.
Referenced by MlmeAssociateConfirm(), MlmeGetConfirm(), MlmeStartConfirm(), NldeDataRequest(), NotifyConstructionCompleted(), ReceiveMulticastNonMemberFrame(), ReceiveRREP(), SendDataBcst(), SendDataUcst(), SendRREP(), and SendRREQ().
|
private |
The behavior depends upon whether the device is a FFD or RFD.
For RFD, this records the information received in an End device timeout response command indicating the parent information (Table 3-55). For FFD, this records the device's local capabilities. See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1763 of file zigbee-nwk.h.
Referenced by NlmeJoinRequest().
|
private |
The maximum time duration in milliseconds allowed for the parent all the child devices to retransmit a broadcast message.
See Zigbe Specification r22.1.0, Table 3-58 (NIB attributes) See Zigbee-2007 Layer PICS and Stack Profiles
Definition at line 1832 of file zigbee-nwk.h.
Referenced by GetTypeId(), and McpsDataConfirm().
|
private |
If false, the NWK layer shall calculate the link cost from all neighbor nodes using the LQI values reported by the MAC layer, otherwise it shall report a constant value (7).
See Zigbe Specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1808 of file zigbee-nwk.h.
Referenced by GetLinkCost(), and NotifyConstructionCompleted().
|
private |
The network route discovery table See Zigbee specification r22.1.0, 3.6.3.2.
Definition at line 1282 of file zigbee-nwk.h.
Referenced by DoDispose(), FindNextHop(), PrintRouteDiscoveryTable(), ProcessManyToOneRoute(), and ReceiveRREP().
|
private |
The network layer routing table See Zigbee specification r22.1.0, 3.6.3.2.
Definition at line 1276 of file zigbee-nwk.h.
Referenced by DoDispose(), FindNextHop(), FindRoute(), PrintRoutingTable(), ProcessManyToOneRoute(), ReceiveMulticastNonMemberFrame(), and ReceiveRREP().
|
private |
The sequence number used to identify outgoing frames See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1845 of file zigbee-nwk.h.
Referenced by NldeDataRequest(), NlmeRouteDiscoveryRequest(), NotifyConstructionCompleted(), ReceiveRREQ(), SendDataUcst(), and SendRREP().
|
private |
Describes the current stack profile used in this NWK layer.
Definition at line 1719 of file zigbee-nwk.h.
Referenced by NotifyConstructionCompleted(), and UpdateBeaconPayloadLength().
|
private |
Describes the current route symmetry: True: Routes are considered to be symmetric links.
Backward and forward routes are created during one-route discovery and they are identical. False: Routes are not consider to be comprised of symmetric links. Only the forward route is stored during route discovery. See Zigbe Specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1818 of file zigbee-nwk.h.
Referenced by NotifyConstructionCompleted().
|
private |
This NIB attribute indicates whether the NWK layer should assume the ability to use hierarchical routing.
True = Hierarchical routing False = Never use hierarchical routing See Zigbee specification r22.1.0, Table 3-58 (NIB attributes)
Definition at line 1800 of file zigbee-nwk.h.
Referenced by NotifyConstructionCompleted().
|
private |
Use to keep track of neighboring 16 bit PAN id.
This information is used during the Join process (Association).
Definition at line 1270 of file zigbee-nwk.h.
Referenced by DoDispose(), MlmeBeaconNotifyIndication(), and NlmeJoinRequest().
|
private |
The pending transaction queue of data packets awaiting to be transmitted until a route to the destination becomes available.
Definition at line 1096 of file zigbee-nwk.h.
Referenced by DequeuePendingTx(), DisposePendingTx(), EnqueuePendingTx(), and ReceiveRREP().
|
private |
Indicates the current primitive in use in the NWK layer.
Definition at line 1258 of file zigbee-nwk.h.
Referenced by MlmeAssociateConfirm(), MlmeBeaconNotifyIndication(), MlmeCommStatusIndication(), MlmeGetConfirm(), MlmeScanConfirm(), MlmeSetConfirm(), MlmeStartConfirm(), NldeDataRequest(), NlmeJoinRequest(), NlmeNetworkDiscoveryRequest(), NlmeNetworkFormationRequest(), NlmeRouteDiscoveryRequest(), NlmeStartRouterRequest(), NotifyConstructionCompleted(), and ReceiveRREP().
|
private |
The expiration time of routing table entry.
This value is not standardized and it is implementation dependent.
Definition at line 1862 of file zigbee-nwk.h.
Referenced by FindNextHop(), NotifyConstructionCompleted(), and ProcessManyToOneRoute().
|
private |
The counter used to identify route request commands.
Definition at line 1850 of file zigbee-nwk.h.
Referenced by NlmeRouteDiscoveryRequest(), NotifyConstructionCompleted(), ReceiveRREQ(), and SendDataUcst().
|
private |
Provides uniform random values for the route request jitter.
Definition at line 1578 of file zigbee-nwk.h.
Referenced by NlmeRouteDiscoveryRequest(), NotifyConstructionCompleted(), ReceiveRREQ(), SendDataUcst(), and SendRREQ().
|
private |
A trace source that fires when a node has reached the maximum number of RREQ retries allowed.
The trace provides the RREQ Id, the destination address of the RREQ and the number of the maximum allowed retries from this node.
Definition at line 1135 of file zigbee-nwk.h.
Referenced by GetTypeId(), and SendRREQ().
|
private |
Keep track of all the route request retries.
Definition at line 1287 of file zigbee-nwk.h.
Referenced by DoDispose(), PrintRREQRetryTable(), ReceiveRREP(), and SendRREQ().
|
private |
The maximum acceptable energy level used in an energy scan taking place during a NLME-NETWORK-FORMATION.request.
Definition at line 1246 of file zigbee-nwk.h.
Referenced by MlmeScanConfirm(), and NotifyConstructionCompleted().
|
private |
Temporarily store the NLME-START-ROUTER.request parameters during the router initialization process.
Definition at line 1234 of file zigbee-nwk.h.
Referenced by MlmeGetConfirm(), MlmeSetConfirm(), MlmeStartConfirm(), and NlmeStartRouterRequest().
The transmission buffer.
Copies of DATA packets are stored here for post transmission handling.
Definition at line 1117 of file zigbee-nwk.h.
Referenced by BufferTxPkt(), DisposeTxPktBuffer(), and RetrieveTxPkt().
|
private |
The maximum size of the transmission buffer.
Definition at line 1122 of file zigbee-nwk.h.
Referenced by BufferTxPkt(), and NotifyConstructionCompleted().
|
private |
Provides uniform random values.
Definition at line 1573 of file zigbee-nwk.h.
Referenced by AllocateNetworkAddress(), AssignStreams(), MlmeScanConfirm(), and NotifyConstructionCompleted().