Bug? UDP packet transmitted via sendto() intermitently not being transmitted to network

Corinna Vinschen corinna-cygwin@cygwin.com
Sun Dec 12 15:08:00 GMT 2010


On Dec 10 14:37, Estabrook, Edward wrote:
> Generally I am seeking information regarding:
> 1) Where can I download and install an older version of Cygwin (say
> 1.5 era) to test if the problem is newly introduced?

What for?  If it doesn't work on 1.5 you're exactly at the same spot as
now.  If it works on 1.5, we know it works on 1.5 but we still don't
know why it doesn't work on 1.7, which means, you're still exactly at
the same spot as now.  So that's not really an option.  The best option
is either to debug the (slim) layer in Cygwin which provides send/recv,
or at least to send an as-simple-as-possible, self-sufficient testcase,
preferredly in plain C, which allows to reproduce the problem.

> 2) What tools are available to measure potential packet loss within
> cygwin itself? (the Windows stack is not reporting dropped UDP
> packets, and the packets are not even making it into a locally running
> instance of wireshark).  Is there a way to dump / access / sniff the
> inputs and outputs to the cygwin IP stack?  Traffic volume is low so
> verbosity would not pose a problem.

You can add debug output to Cygwin's send and receive functions and use
strace.

> 3) Is there additional documentation regarding the cygwin IP
> translation layer?

The sources, basically here:
http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fhandler_socket.cc?cvsroot=src
and here:
http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/net.cc?cvsroot=src


>   I see in the release notes that various
> enhancements have been made recently, and I cannot help but worry that
> perhaps an obscure issue in this aggregation of packets for delivery
> to Windows is introducing a problem.  Is it possible to shut this off
> and simply force each packet to be delivered without additional
> buffering?

There is no additional buffering, except for the system socket buffers.

> Unfortunately the only steps to reproduce (that I am yet aware of) is
> a 50-step sequence of SIP signaling which would be difficult to detail
> sufficiently here.  I will cover some pertinent details below.

Apart from actual debugging it yourself, a testcase, as outlined above,
might be helpful.  The details describe *what* happens, but unfortunately
don't even allow to guess *why* it happens.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list