Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Dec 2011 18:48:40 +0000
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        Brooks Davis <brooks@freebsd.org>
Cc:        freebsd-current <freebsd-current@FreeBSD.org>, Gleb Smirnoff <glebius@freebsd.org>
Subject:   Re: r228700 can't dhclient em0
Message-ID:  <77311BF9-BD22-4567-B8FE-9CA0A99D4CA3@FreeBSD.org>
In-Reply-To: <20111220165134.GA68792@lor.one-eyed-alien.net>
References:  <4EEF0124.4000902@FreeBSD.org> <4EEF3B22.8010401@FreeBSD.org> <4EF0499D.4070000@FreeBSD.org> <4EF0AD19.2000603@FreeBSD.org> <20111220165134.GA68792@lor.one-eyed-alien.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 20. Dec 2011, at 16:51 , Brooks Davis wrote:

> On Tue, Dec 20, 2011 at 04:43:21PM +0100, Dimitry Andric wrote:
>> On 2011-12-20 09:38, Doug Barton wrote:
>> ...
>>> I tried replacing both ifconfig and dhclient with the versions that =
were
>>> built along with the new kernel, and that didn't work.
>>=20
>> Looking at the changes in r228571, it seems they also affect libc, so
>> installing that is probably also needed.  Since all my test systems =
are
>> already upgraded to post-r228571, can somebody please confirm it =
works
>> after doing:
>>=20
>> make -C $srcdir/lib/libc install
>> make -C $srcdir/sbin/dhclient install
>> make -C $srcdir/sbin/ifconfig install
>=20

Depends on what you are trying to achieve.  There is more software =
affected.

> We almost certainly need to back r228571 out.  This is not an =
acceptable
> upgrade path that would be acceptable historically.  Specially, we =
have
> effectively promised users that an X.Y world will work on an X+1.0

I am not sure we supported that but X.<latest> to X+1.Y maybe?

> kernel for most of history.  There are obvious exceptions to this, but
> we have never allowed ifconfig to be one of them (I broke it many =
years
> ago with my first attempt to add if_epoch to if_data and had to back
> that out).

There is a couple of issues here.

The one that's on me is struct ifa_msghdr / getifaddrs() and the problem =
here
is that software incl. getifaddrs() doesn't use the in structs embedded =
lengths
in first place.  In if_data only a spare was reused, so no changes =
there.
That's certainly something we can and should fix in 9 before 10.0 will =
happen.
If that was the problem back then, it's certainly a pity it wasn't fixed =
as
we wouldn't have that problem these days then.  It would allow appending =
more
stuff.

For the appended int to ifaliasreq, in_aliasreq, in6_aliasreq I haven't
looked at the actual problem in the upgrade paths.  I guess it's not =
much
outside of ifconfig and probably ppp at least for the in_ in6_ variants.

Backing r228571 out completely will be harder with every change glebius =
commits
on top.  So if we think it'll be needed we should stop those commits now =
and
think first.

Just breaking carp and backing out the user space API parts is only a =
usable
path with a plan B on how to fix carp as well in the same go really.

Ingoring 9.0 -> 10-CURRENT or an update on HEAD (neither of which is not =
a
normal user upgrade path an supported) I am still wondering how much of =
that
can be mitigated and if it might make sense to ponder that direction =
(also
for further future changes for sure to happen) to not be stuck forever?
I fear we'll see/want to do more of these kinds as more people look at =
the
if/ll layer...

/bz

--=20
Bjoern A. Zeeb                                 You have to have visions!
         Stop bit received. Insert coin for new address family.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?77311BF9-BD22-4567-B8FE-9CA0A99D4CA3>