Network Management Services functions
The ZDP Network Management Services functions are concerned with requests for network operations to be implemented remotely.
The functions are listed below.
Note: Some of these functions cannot be used to send requests to nodes that run the NXP ZigBee PRO stack. They are supplied in the ZDP API in order to facilitate interoperability with nodes based on non-NXP software which supports the corresponding requests.
ZPS_eAplZdpMgmtNwkDiscRequest
ZPS_teStatus ZPS_eAplZdpMgmtNwkDiscRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpMgmtNwkDiscReq
*psZdpMgmtNwkDiscReq);
Description
This function requests a remote node to perform a channel scan in order to discover any other wireless networks that are operating in the neighborhood.
Note: This function is provided in the ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED.
This request must specify the requirements for the scan: channels to scan, duration of scan, starting channel. The request is represented by the structure below (further detailed in Section 8.2.2.33).
typedef struct {
uint32 u32ScanChannels;
uint8 u8ScanDuration;
uint8 u8StartIndex;
} ZPS_tsAplZdpMgmtNwkDiscReq;
The remote node replies with a Mgmt_NWK_Disc_rsp response containing the scan results, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpMgmtNwkDiscRsp
(detailed in Section 8.2.3.33).
Parent topic:ZPS_eAplZdpMgmtNwkDiscRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpMgmtNwkDiscReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpMgmtNwkDiscRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpMgmtNwkDiscRequest
Parent topic:Network Management Services functions
ZPS_eAplZdpMgmtLqiRequest
ZPS_teStatus ZPS_eAplZdpMgmtLqiRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpMgmtLqiReq *psZdpMgmtLqiReq);
Description
This function requests a remote node to provide a list of neighboring nodes, from its Neighbor table, including LQI (link quality) values for radio transmissions from each of these nodes. The destination node of this request must be a Router or the Co- ordinator.
This request must specify the index of the first node in the Neighbor table to report. The request is represented by the structure below (further detailed in Section 8.2.2.34).
typedef struct {
uint8 u8StartIndex;
} ZPS_tsAplZdpMgmtLqiReq;
The remote node replies with a Mgmt_Lqi_rsp response containing the required information, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpMgmtLqiRsp
(detailed in Section 8.2.3.34).
Parent topic:ZPS_eAplZdpMgmtLqiRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpMgmtLqiReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpMgmtLqiRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpMgmtLqiRequest
Parent topic:Network Management Services functions
ZPS_eAplZdpMgmtRtgRequest
ZPS_teStatus ZPS_eAplZdpMgmtRtgRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpMgmtRtgReq *psZdpMgmtRtgReq);
Description
This function requests a remote node to provide the contents of its Routing table. The destination node of this request must be a Router or the Coordinator.
This request must specify the index of the first entry in the Routing table to report. The request is represented by the structure below (further detailed in Section 8.2.2.35).
typedef struct {
uint8 u8StartIndex;
} ZPS_tsAplZdpMgmtRtgReq;
The remote node replies with a Mgmt_Rtg_rsp response containing the required information, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpMgmtRtgRsp
(detailed in Section 8.2.3.35).
Parent topic:ZPS_eAplZdpMgmtRtgRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpMgmtRtgReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpMgmtRtgRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpMgmtRtgRequest
Parent topic:ZPS_eAplZdpMgmtBindRequest
Parent topic:Network Management Services functions
ZPS_eAplZdpMgmtBindRequest
ZPS_teStatus ZPS_eAplZdpMgmtBindRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpMgmtBindReq *psZdpMgmtBindReq);
Description
This function requests a remote node to provide the contents of its Binding table. The destination node of this request must be a Router or the Coordinator.
This request must specify the index of the first entry in the Binding table to report. The request is represented by the structure below (further detailed in Section8.2.2.36).
typedef struct {
uint8 u8StartIndex;
} ZPS_tsAplZdpMgmtBindReq;
The remote node replies with a Mgmt_Bind_rsp response containing the required information, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpMgmtBindRsp
(detailed in Section8.2.3.36).
Parent topic:ZPS_eAplZdpMgmtBindRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpMgmtBindReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpMgmtBindRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpMgmtRtgRequest
Parent topic:ZPS_eAplZdpMgmtBindRequest
Parent topic:Network Management Services functions
ZPS_eAplZdpMgmtLeaveRequest
ZPS_teStatus ZPS_eAplZdpMgmtLeaveRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpMgmtLeaveReq *psZdpMgmtLeaveReq);
Description
This function requests a remote node to leave the network. The request also indicates whether the children of the leaving node should also be requested to leave and whether the leaving node(s) should subsequently attempt to rejoin the network.
Note: This function is provided in the ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED.
The IEEE address of the node to leave the network must be included in the request, as well as flags indicating the children and rejoin choices (see above). The request is represented by the structure below (further detailed in Section 8.2.2.37).
typedef struct {
uint64 u64DeviceAddress;
uint8 u8Flags;
} ZPS_tsAplZdpMgmtLeaveReq;
The remote node replies with a Mgmt_Leave_rsp response, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpMgmtLeaveRsp
(detailed in Section 8.2.3.37).
Parent topic:ZPS_eAplZdpMgmtLeaveRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpMgmtLeaveReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpMgmtLeaveRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpMgmtLeaveRequest
Parent topic:ZPS_eAplZdpMgmtDirectJoinRequest
Parent topic:ZPS_eAplZdpMgmtPermitJoiningRequest
Parent topic:ZPS_eAplZdpMgmtCacheRequest
Parent topic:Network Management Services functions
ZPS_eAplZdpMgmtDirectJoinRequest
ZPS_teStatus ZPS_eAplZdpMgmtDirectJoinRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpMgmtDirectJoinReq
*psZdpMgmtDirectJoinReq);
Description
This function requests a remote node to allow a particular device (identified through its IEEE address) to join the network as a child of the node. Thus, joining should be enabled on the remote node just for the nominated device. The destination node of this request must be a Router or the Coordinator.
Note: This function is provided in the ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED.
The IEEE address of the nominated device as well as its capabilities must be included in the request. The request is represented by the structure below (further detailed in Section 8.2.2.38).
typedef struct {
uint64 u64DeviceAddress; uint8 u8Capability;
} ZPS_tsAplZdpMgmtDirectJoinReq;
The remote node replies with a Mgmt_Direct_Join_req response, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpMgmtDirectJoinRsp
(detailed in Section 8.2.3.38).
Parent topic:ZPS_eAplZdpMgmtDirectJoinRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpMgmtDirectJoinReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpMgmtDirectJoinRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpMgmtLeaveRequest
Parent topic:ZPS_eAplZdpMgmtDirectJoinRequest
Parent topic:ZPS_eAplZdpMgmtPermitJoiningRequest
Parent topic:ZPS_eAplZdpMgmtCacheRequest
Parent topic:Network Management Services functions
ZPS_eAplZdpMgmtPermitJoiningRequest
ZPS_teStatus ZPS_eAplZdpMgmtPermitJoiningRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpMgmtPermitJoiningReq
*psZdpMgmtPermitJoiningReq);
Description
This function requests a remote node to enable or disable joining for a specified amount of time. The destination node of this request must be a Router or the Co- ordinator. The request can be unicast to a particular node or broadcast to all routing nodes (for which the destination address must be set to the 16-bit network address 0xFFFC).
Note: This function is provided in the ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED.
The duration of the enable or disable joining state must be specified in the request. The request is represented by the structure below (further detailed in Section8.2.2.39).
typedef struct {
uint8 u8PermitDuration; bool_t bTcSignificance;
} ZPS_tsAplZdpMgmtPermitJoiningReq;
If the request was unicast, the remote node replies with a Mgmt_Permit_Joining_rsp response, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpMgmtPermitJoiningRsp
(detailed in Section 8.2.3.39).
Parent topic:ZPS_eAplZdpMgmtPermitJoiningRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpMgmtPermitJoiningReqPointer to request (see above)
Parent topic:ZPS_eAplZdpMgmtPermitJoiningRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpMgmtLeaveRequest
Parent topic:ZPS_eAplZdpMgmtDirectJoinRequest
Parent topic:ZPS_eAplZdpMgmtPermitJoiningRequest
Parent topic:ZPS_eAplZdpMgmtCacheRequest
Parent topic:Network Management Services functions
ZPS_eAplZdpMgmtCacheRequest
ZPS_teStatus ZPS_eAplZdpMgmtCacheRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpMgmtCacheReq *psZdpMgmtCacheReq);
Description
This function requests a remote node to provide a list of the End Devices registered in its primary discovery cache. Therefore, the destination node must contain a primary discovery cache.
Note: This function is provided in the ZDP API for the reason of interoperability with nodes running non-NXP ZigBee PRO stacks that support the generated request. On receiving a request from this function, the NXP ZigBee PRO stack will return the status ZPS_ZDP_NOT_SUPPORTED.
The request is represented by the structure below (further detailed in Section9.2.2.40).
typedef struct {
uint8 u8StartIndex;
} ZPS_tsAplZdpMgmtCacheReq;
The remote node replies with a Mgmt_Cache_rsp response, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpMgmtCacheRsp
(detailed in Section 9.2.3.40).
Parent topic:ZPS_eAplZdpMgmtCacheRequest
Parameters
hAPduInst Handle of APDU in which request is sent.
uDstAddr Address of destination node of request
(can be 16- or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpMgmtCacheReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpMgmtCacheRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpMgmtLeaveRequest
Parent topic:ZPS_eAplZdpMgmtDirectJoinRequest
Parent topic:ZPS_eAplZdpMgmtPermitJoiningRequest
Parent topic:ZPS_eAplZdpMgmtCacheRequest
Parent topic:Network Management Services functions
ZPS_eAplZdpMgmtNwkUpdateRequest
ZPS_teStatus ZPS_eAplZdpMgmtNwkUpdateRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpMgmtNwkUpdateReq
*psZdpMgmtNwkUpdateReq);
Description
This function requests an update of network parameters related to radio communication. The request can specify any of the following:
update the radio channel mask (for scans) and the 16-bit network address of the network manager (node nominated to manage radio-band operation of network)
change the radio channel used
scan radio channels and report the results
The request can be broadcast or unicast to nodes with radio receivers that are configured to remain on during idle periods.
The request is represented by the structure below (further detailed in Section9.2.2.41).
typedef struct {
uint32 u32ScanChannels;
uint8 u8ScanDuration;
uint8 u8ScanCount;
uint8 u8NwkUpdateId;
uint16 u16NwkManagerAddr;
} ZPS_tsAplZdpMgmtNwkUpdateReq;
The specific action to be taken as a result of this request is indicated through the element u8ScanDuration
, as described in the table below.
|
Action |
---|---|
0x00-0x05 |
Perform radio channel scan on the set of channels specified through |
0x06-0xFD |
Reserved |
0xFE |
Change radio channel to single channel specified through |
0xFF |
Update the stored radio channel mask with that specified through |
The remote node replies with a Mgmt_NWK_Update_notify notification, which should be collected using the function ZQ_bZQueueReceive() and stored in a structure of type ZPS_tsAplZdpMgmtNwkUpdateNotify
(detailed in Section 9.2.3.41).
Parent topic:ZPS_eAplZdpMgmtNwkUpdateRequest
Parameters
hAPduInst Handle of APDU instance in which request is sent.
uDstAddr Address of destination node of request (can be 16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address:
TRUE: 64-bit IEEE (MAC) address
FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of request
* psZdpMgmtNwkUpdateReq Pointer to request (see above)
Parent topic:ZPS_eAplZdpMgmtNwkUpdateRequest
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpMgmtNwkUpdateRequest
Parent topic:Network Management Services functions
ZPS_eAplZdpParentAnnceReq
ZPS_teStatus ZPS_eAplZdpParentAnnceReq(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpParentAnnceReq *psZdpParentAnnceReq);
Description
This function is used on a Router or the Coordinator to send a Parent Announcement message to one or more other nodes. In this announcement, the originating node declares which nodes it has as children. These child nodes are specified using their IEEE/MAC addresses.
The message contains the above data in following structure (further detailed in Section 8.2.2.42):
typedef struct {
uint8 u8NumberOfChildren;
uint64* pu64ChildList;
} ZPS_tsAplZdpParentAnnceReq;
If a node which receives this message also has one of the specified nodes as its child (so there is a conflict), the receiving node broadcasts a response to indicate this. The response data is contained in the structure below (further detailed in Section 8.2.3.42):
typedef struct {
uint64* pu64ChildList; uint8 u8NumberOfChildren; uint8 u8Status;
} ZPS_tsAplZdpParentAnnceRsp;
Parent topic:ZPS_eAplZdpParentAnnceReq
Parameters
hAPduInst Handle of APDU instance in which message is sent.
uDstAddr Address of destination node of message (16-bit or 64-bit, as specified by bExtAddr)
bExtAddr Type of destination address: TRUE: 64-bit IEEE (MAC) address FALSE: 16-bit network address
* pu8SeqNumber Pointer to sequence number of message
* psZdpParentAnnceReq Pointer to message (see above)
Parent topic:ZPS_eAplZdpParentAnnceReq
Returns
ZPS_E_SUCCESS (request successfully sent)
APS return codes, listed and described in Section 11.2.2
NWK return codes, listed and described in Section 11.2.3
MAC return codes, listed and described in Section 11.2.4
Parent topic:ZPS_eAplZdpParentAnnceReq
Parent topic:Network Management Services functions
Parent topic:ZDP API functions