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>
