Re: IP changes in 2.3.4x make things wierd?

From: Chris Wedgwood (cw@f00f.org)
Date: Tue Feb 22 2000 - 03:45:37 EST


On Sun, Feb 20, 2000 at 01:24:30PM -0800, David S. Miller wrote:

> IP_RECVERR is one option.

I thought I understood what the change that has been made was; that
various UDP socket operations can no longer return ECONNREFUSED when
they receive an ICMP port unreachable.

Testing this does seem to confirm this -- but setting IP_RECVERR
doesn't seem to restore the previous behavior? Am I missing
something?

2.2.14: Old (desirable behavior for some a particular application I
        have)

        socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
        sendto(3, "I had a little dog. His name was"..., 39, 0, {sin_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("127.0.0.1")}, 16) = 39
        select(4, [3], NULL, NULL, {2, 0}) = 1 (in [3], left {2, 0})
        recv(3, 0xbffffae8, 512, 0) = -1 ECONNREFUSED (Connection refused)

2.3.47: New (undesirable behavior)

        socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
        setsockopt(3, SOL_SOCKET, SO_NO_CHECK, [1], 4) = 0
        sendto(3, "I had a little dog. His name was"..., 39, 0, {sin_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("127.0.0.1")}}, 16) = 39
        select(4, [3], NULL, NULL, {2, 0}) = 0 (Timeout)

Oh, and I don't know if this is a bug or not, but 2.3.47 has the
`old' behavior still when you use connect() & write() as opposed to
sendto().

-cw

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:29 EST