From: David Stevens <[EMAIL PROTECTED]> Date: Sun, 9 Dec 2007 16:19:12 -0800
> I don't know if you've fixed it already, but I was writing some > UDPv6 tests in 2.6.23.9 and was getting EDESTADDRREQ unexpectedly. When > I looked at the kernel code, I found: > > gerrit/wscott 1.115 | int udpv6_sendmsg(struct kiocb *iocb, > struct sock *sk, > shemminger 1.57 | struct > msghdr *msg, size_t len) > torvalds 1.1 | { > ... > > yoshfuji 1.53 | } else if (!up->pending) > { > yoshfuji 1.53 | if > (sk->sk_state != TCP_ESTABLISHED) > yoshfuji 1.53 | return -EDESTADDRREQ; > yoshfuji 1.53 | daddr = > &np->daddr; > > I wouldn't expect a UDP socket to be setting > sk_state to TCP_ESTABLISHED... It does when you connect() it. UDP reuses the TCP state values out of convenience. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html