netdev
[Top] [All Lists]

Re: [Fwd: Problem with dual IPv4/IPv6 connect]

To: tmarshall@xxxxxxxx
Subject: Re: [Fwd: Problem with dual IPv4/IPv6 connect]
From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxxxxxx>
Date: Fri, 19 Nov 2004 13:57:50 -0500 (EST)
Cc: pekkas@xxxxxxxxxx, davem@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx, yoshfuji@xxxxxxxxxxxxxx
In-reply-to: <20041119184328.GB3396@real.com>
Organization: USAGI Project
References: <20041118184950.GB3972@real.com> <Pine.LNX.4.61.0411190904580.6216@netcore.fi> <20041119184328.GB3396@real.com>
Sender: netdev-bounce@xxxxxxxxxxx
In article <20041119184328.GB3396@xxxxxxxx> (at Fri, 19 Nov 2004 10:43:29 
-0800), Tom Marshall <tmarshall@xxxxxxxx> says:

> > I'd suggest you resend it to netdev, but also attach a minimal, 
> > trivial test case .c file which allows anyone to easily experiment 
> > with the behaviour, test a fix, etc.
> 
> Recap of the issue:
> 
>   s = socket(AF_INET6, SOCK_STREAM, 0)
>   connect(s, [fec0::203:baff:fe88:5a15]:1554) => EINPROGRESS
>   Put socket in select's write set
>   Kernel sends TCPv6 SYN
>   Kernel receives ICMPv6 Time Exceeded (routing error)
>   Socket becomes writable
>   getsockopt(s, SO_ERROR) => EHOSTUNREACH
(*)
>   connect(s, [:ffff:192.168.168.241]:1554) => ECONNABORTED

At the point of (*), the state of socket if undefined.
you need to create another socket to connect another peer.

--yoshfuji

<Prev in Thread] Current Thread [Next in Thread>