This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ioctl() on socket fd's take 3 seconds on 1.7.7


On Nov 22 21:29, Jason Curl wrote:
> The actual delays are caused by SendARP() called from get_xp_ifs().
> Interestingly enough, it isn't always slow, only sometimes.
> [...]

First of all, thanks for looking deeper into this.

> And the interface that is failing: D4B7FEA9 = 169.254.183.212
> doesn't appear by a call to "ipconfig /all". I'm guessing that
> Windows is actually making a network request for this non-existent
> interface.
> 
> ./Windows/v5.0/Include/WinError.h:#define ERROR_BAD_NET_NAME    67L
> 
> ERROR_BAD_NET_NAME
> "The network name cannot be found. This error is returned on Windows
> Vista and later when an ARP reply to the SendARP request was not
> received. This error occurs if the destination IPv4 address could
> not be reached."
> 
> I'm not sure where this IP is currently coming from...

This autoconfig address is returned by GetAdapterAddresses so it has
been configured at one point, even if the interface is not visible.

Ok, so SendARP is kind of a problematic call.  As you can see from the
source code, it's only called to set the IFF_NOARP flag.  Probably
that's a bit over the top.  What about just disabling this code?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]