Skip to content

Commit b88abfa

Browse files
author
Juha Heiuskanen
committed
BUG fix: Fixed broken Brodcast MAC overflow handling
When MAC report: MLME_TRANSACTION_OVERFLOW we want drop Brodcast packet but unicast are pushing back to queue.
1 parent 9cad478 commit b88abfa

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

source/6LoWPAN/adaptation_interface.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1325,14 +1325,16 @@ int8_t lowpan_adaptation_interface_tx_confirm(protocol_interface_info_entry_t *c
13251325
lowpan_data_request_to_mac(cur, buf, tx_ptr, interface_ptr);
13261326
} else {
13271327

1328-
if (confirm->status == MLME_TRANSACTION_OVERFLOW) {
1328+
//Accept only unicast packet back to queue
1329+
if (confirm->status == MLME_TRANSACTION_OVERFLOW && buf->link_specific.ieee802_15_4.requestAck) {
13291330
if (interface_ptr->activeTxList_size > 1) {
13301331
//We still have more than this packet
1331-
//Push Buffer to QUEU front by used priority
1332+
13321333
if (tx_ptr->fragmented_data && active_direct_confirm) {
13331334
interface_ptr->fragmenter_active = false;
13341335
}
13351336
interface_ptr->mac_tx_overflow_reported = true;
1337+
//Push Buffer to Direct TX queue front by used priority
13361338
lowpan_adaptation_tx_queue_write(interface_ptr, buf, true);
13371339
random_early_detetction_aq_calc(cur->random_early_detection, interface_ptr->directTxQueue_size);
13381340
ns_list_remove(&interface_ptr->activeUnicastList, tx_ptr);

0 commit comments

Comments
 (0)