netdev
[Top] [All Lists]

Re: IPV6 RFC3542 compliance [PATCH]

To: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxxxxxx>
Subject: Re: IPV6 RFC3542 compliance [PATCH]
From: David Stevens <dlstevens@xxxxxxxxxx>
Date: Tue, 7 Jun 2005 01:01:01 -0700
Cc: davem@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx, yoshfuji@xxxxxxxxxxxxxx
In-reply-to: <20050607.164749.62298775.yoshfuji@linux-ipv6.org>
Sender: netdev-bounce@xxxxxxxxxxx
YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxxxxxx> wrote on 
06/07/2005 
12:47:49 AM:


> No, kernel should send 5, if application use old API, of course.

> --yoshfuji

Ok, but this gets back to my point. If the program source
doesn't have #ifdefs like you suggested (for example, if
it was written before the new API existed), then it'll still
have an error, but that error won't show up until the next
time it's recompiled. So, an old binary will work fine, but
recompiling it will get EINVAL on the setsockopt() calls.
The old binary will work, the old source will compile, but
the new binary will not work, and may not be found until
much later.

The two API's are fundamentally incompatible, because
they have common names that do different things, and in
the first, the boolean socket option and cmsg_type must
be the same, in the second, they cannot be.

I think it's better to break and fix any use of these
right away instead of delaying the error until the next
time some old binary is recompiled and run, don't you?

                                                +-DLS


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