Bug #269

Check network address before notifying consumers

Added by Philipp Buluschek over 3 years ago. Updated over 3 years ago.

Status:Rejected Start date:11/03/2014
Priority:Normal Due date:
Assignee:Stefano Lenzi % Done:


Category:zigbee.basedriver Spent time: -
Target version:org.aaloa.zb4osgi.zigbee.basedriver-0.8.0
Has a patch:No Has license agreement signed:No


As discussed in #264 , in ZigBeeDeviceImpl.notify() the network address should be checked before notifying consumers and listeners. Additionally, a special case must be done to handle broadcasts correctly.

The check would then read

if ( msg.wasBroadcoast() || msg.getSrcAddr() == (short)node.getNetworkAddress() ) {
  ... notify consumers & listeners

The AF_INCOMING_MSG.wasBroadcast() method must be implemented, but it already has a corresponding member value (WasBroadcast) from which it can be copied.

Related issues

related to Bug #264: Confusion between signed and unsigned 16bit short address Closed 10/23/2014

Associated revisions

Revision 1101
Added by Stefano Lenzi over 3 years ago

Reviewing code of ZigBeeDeviceImpl with respect to filtering out broadcast message ( refs #269 )
Cleaned up source code by removing commented code


#1 Updated by Stefano Lenzi over 3 years ago

  • Status changed from New to Rejected

Broadcast and Groupcast does not require any special care, because when a device on the Network send a message as broadcast or groupcast then the source address is not changed,
only the destination address is. For example if our dongle has NWK_ADDR = 0x2002, when device with NWK_ADDR = 0x0330 will send a broadcast message the resulting AF_INCOMING_MSG
in ZStack will be a packet with
SrcAddr = 0x0330
DstAddr = 0xFFFF

Please re-open the issue if you disagree

#2 Updated by Stefano Lenzi over 3 years ago

  • Category set to zigbee.basedriver
  • Assignee set to Stefano Lenzi
  • Target version set to org.aaloa.zb4osgi.zigbee.basedriver-0.8.0

Also available in: Atom PDF