So, I got the MNL system setup and working on both the receiver and sender side with the correct ports.&nbsp; When I run the program with the basic sample config: dnone0.txt I have issues sometimes.&nbsp; <br><br>I am using select to wake me up on a timeout or if there is data ready to be received.&nbsp; Towards the end of the transfer, select returns before a timeout and FD_ISSET returns true implying that there is data to be read, so I call recvfrom which ends up blocking which would imply that there is nothing there.&nbsp; I read online that select does not guarantee that recvfrom wont block because the packet may have been corrupted.&nbsp; So I changed my socket to work in non-blocking mode.&nbsp; Now, though, my program goes in an infinite loop because select thinks something is reader queue but recvfrom does not returning anything.&nbsp; Also, since I am simulating high load, the ACK for this packet was never sent by the receiver.
<br><br>I also do a FD_ZERO before calling FD_SET everytime in my loop, so it could not be that there is initialization error.&nbsp; The program works flawlessly while running regular sendto and recvfrom commands even when I manually drop random packets and use timers to increase RTTs.
<br><br><br>Any ideas why this is happening?<br><br>-Amit<br>