It should send the block ack request again before retransmitting all frames. Maybe like this? `bool QosAckHandler::isOutstandingFrame(const Ptr<const Ieee80211DataOrMgmtHeader>& header) { if (header->getType() == ST_DATA_WITH_QOS) { auto dataHeader = dynamicPtrCast<const Ieee80211DataHeader>(header); auto status = getQoSDataAckStatus(dataHeader); return status == QosAckHandler::Status::BLOCK_ACK_NOT_YET_REQUESTED || status == QosAckHandler::Status::BLOCK_ACK_NOT_ARRIVED; } else return false; }`