1. A method for routing data packets in a wireless mesh network comprising: calculating a probability of re-transmitting a received packet, generating a random number; comparing the random number to the probability; and, re-transmitting the packet if the comparison satisfies a pre-selected criterion.