Testing the current rxe driver with a patch to drop packets at random when running the pyverbs test suite shows that the driver successfully recovers from dropped atomic request packets but does not recover from dropped atomic ack packets. A review of the code shows two problems. First the second argument to rxe_xmit_packet() is the packet info struct from the request packet and not the saved response packet. Second saving a pointer to the skb in qp->resp.resources[] will not actually work since the skb is freed by the network stack after the NIC sends it. It would be better to save the return value in the atomic ack header and rebuild the skb each time from this saved value. This can be seen from the fact that the returned skb from a retry has incorrect data in it. Bob