* possible bug when forwarding direct mode packets
This commit is contained in:
@@ -71,7 +71,15 @@ DispatcherAction Mesh::onRecvPacket(Packet* pkt) {
|
|||||||
|
|
||||||
// remove our hash from 'path', then re-broadcast
|
// remove our hash from 'path', then re-broadcast
|
||||||
pkt->path_len -= PATH_HASH_SIZE;
|
pkt->path_len -= PATH_HASH_SIZE;
|
||||||
|
#if 0
|
||||||
memcpy(pkt->path, &pkt->path[PATH_HASH_SIZE], pkt->path_len);
|
memcpy(pkt->path, &pkt->path[PATH_HASH_SIZE], pkt->path_len);
|
||||||
|
#elif PATH_HASH_SIZE == 1
|
||||||
|
for (int k = 0; k < pkt->path_len; k++) { // shuffle bytes by 1
|
||||||
|
pkt->path[k] = pkt->path[k + 1];
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#error "need path remove impl"
|
||||||
|
#endif
|
||||||
|
|
||||||
uint32_t d = getDirectRetransmitDelay(pkt);
|
uint32_t d = getDirectRetransmitDelay(pkt);
|
||||||
return ACTION_RETRANSMIT_DELAYED(0, d); // Routed traffic is HIGHEST priority
|
return ACTION_RETRANSMIT_DELAYED(0, d); // Routed traffic is HIGHEST priority
|
||||||
|
|||||||
Reference in New Issue
Block a user