[Planetlab-users] sendto: operation not permitted

Patrick Verkaik pverkaik at cs.ucsd.edu
Thu Nov 9 02:58:40 EST 2006


Hi,

I have a question about the following sendto() behaviour that I don't 
quite understand.

We're sending raw TCP packets using sendto() but getting intermittent 
EPERM errors. We've found that repeatedly retrying the sendto() (with 
exactly the same packet) until it no longer gives EPERM eventually gets 
the packet through. During a short connection (perhaps lasting 10 seconds 
and sending across less than 100 bytes of data) we sometimes see about 
100,000 failed sendto() attempts (with a usleep(1) separating the attempts 
roughly 20,000 attempts).

Another curious fact is that we only see this behaviour when we're 
tunneling the reverse TCP traffic into the sending host. The host 
therefore doesn't see e.g. SYN/ACK packets coming back in response to 
outgoing SYNs.

Can anyone explain this? Is this how Planetlab implements rate limiting or 
prevents SYN-flooding attacks being launched from Planetlab?

(Btw: we're running as root and using the node's IP address as source IP 
address.)

 	Thanks,

 	Patrick Verkaik
 	Barath Raghavan



More information about the Users mailing list