Skip to content

Commit 033dc84

Browse files
zigbee: In NWK BTT record initiator bcst to filter rebroadcasts
1 parent a76253b commit 033dc84

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

RELEASE_NOTES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ been tested on Linux. As of this release, the latest known version to work with
4444
- (mesh) #1341 Fixed dot11s regression that ignored the link rate, degrading the HWMP routing metric to hop count.
4545
- (sixlowpan) #1342 Fixed a deserialization error in the MESH header.
4646
- (dsr) !2762 Fixes header format to comply with RFC4728. Also other minor bug fixes and modernization.
47+
- (zigbee) In the NWK, broadcast initiator devices are now registered in the BTT to avoid receiving retransmissions.
4748

4849
## Release 3.48
4950

src/zigbee/model/zigbee-nwk.cc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2360,6 +2360,15 @@ ZigbeeNwk::NldeDataRequest(NldeDataRequestParams params, Ptr<Packet> packet)
23602360
if (IsBroadcastAddress(params.m_dstAddr))
23612361
{
23622362
// The destination is BROADCAST (See 3.6.5)
2363+
// Record the originated broadcast in the Broadcast Transaction Table (BTT)
2364+
// so that copies rebroadcast back by neighbors are suppressed and not
2365+
// delivered again to the next higher layer.
2366+
Ptr<BroadcastTransactionRecord> btr = Create<BroadcastTransactionRecord>(
2367+
nwkHeader.GetSrcAddr(),
2368+
nwkHeader.GetSeqNum(),
2369+
Simulator::Now() + m_nwkNetworkBroadcastDeliveryTime);
2370+
m_btt.AddEntry(btr);
2371+
23632372
SendDataBcst(packet, params.m_nsduHandle);
23642373
}
23652374
else

0 commit comments

Comments
 (0)