[Openswan Users] l2tpd gives "Resource temporarily unavailable" with nat-t (was:Debian openswan Nat-t problem (ESP packets))

Marco Perrando perr at com.dist.unige.it
Sat Sep 4 12:24:48 CEST 2004


Now I have ALL infos!

Please, take a moment and read this.

I put some printk in kernel code (2.6.8 from debian, no patches, then 
native ipsec):
everyting goes ok, i.e.
I can see the xfrm decoding the packet with the correct SPI (the tcpdump 
capture is wrong because kernel code overwrites the protocol code, but 
that's not the problem).
I can see the uncoded packet ip source/dest and udp port source/dest and 
they are correct (dest: 1701).

Then I went to the sock delivery code and I see that a socket for 1701 
port is found iff there is an l2tp daemon listening.

I installed rp-l2tpd and put some printf in the code.

the daemon is correctly awakened, but when it tries to get the packet with
recvfrom
function, it got this error:
Resource temporarily unavailable.

Summing up:
- the kernel de-encapsulate correctly the ESP packet originating the UDP 
1701 packet;
- it signals it to the correct socket
- the daemon awakes and call recvfrom
- it returns with -1 and with errno = "Resource temporarily unavailable"

Why and when can such an error occur when recvfrom is invoked just after 
that the socket is signalled of a new packet?

Marco.



More information about the Users mailing list