Other Parts Discussed in Thread: Z-STACK
I have researched the processing of "security frame counter" on Z-stack 3.0.2
// check frame counter linkInfo = nwkNeighborGetLinkInfo( dataInd->mac.srcAddr.addr.shortAddr, dataInd->mac.srcPanId ); if ( linkInfo ) { keySeqNum = *(dataInd->msdu.p + ff.hdrLen + NWK_AUX_HDR_LEN - 1); // check if the frame counter needs to be reset if ( linkInfo->inKeySeqNum != keySeqNum ) { linkInfo->inKeySeqNum = keySeqNum; linkInfo->inFrmCntr = 0; } rcvdFrmCntr = osal_build_uint32( dataInd->msdu.p + ff.hdrLen + 1, 4 ); if ( rcvdFrmCntr < linkInfo->inFrmCntr ) { return; // Bad frm count } else { linkInfo->inFrmCntr = rcvdFrmCntr + 1; } }
We can see that when current stored frame-counter is 0xFFFFFFFF but the received frame-counter is 0, the incoming message will be ignored. Has the SDK 7.10 fixed this issue?