Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Sep 2011 10:26:50 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Sergey Kandaurov <pluknet@gmail.com>
Cc:        FreeBSD amd64 <freebsd-amd64@freebsd.org>, Devin Teske <devin.teske@fisglobal.com>, Dave Robison <Dave.Robison@fisglobal.com>
Subject:   Re: 32-bit route(8) on amd64 host and jails
Message-ID:  <CAGE5yCqDq1hjSTS6fEDtE5mKLT1p3ZyOzThrF3oFrGopy2ZPdA@mail.gmail.com>
In-Reply-To: <CAE-mSO%2B4KKWeC6-Z3UAi70bxxEUJL5gUD0phEfNzzkDMXrA3pg@mail.gmail.com>
References:  <714EF3C9-33B0-4EF5-B52C-1E95F7F432F9@fisglobal.com> <CAE-mSO%2B4KKWeC6-Z3UAi70bxxEUJL5gUD0phEfNzzkDMXrA3pg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 21, 2011 at 5:47 AM, Sergey Kandaurov <pluknet@gmail.com> wrote=
:
> On 21 September 2011 06:40, Devin Teske <devin.teske@fisglobal.com> wrote=
:
>> I'm noticing that a 32-bit route(8) shows strange behaviour while runnin=
g under an amd64 kernel (regardless of whether in the base-host -- utilizin=
g /usr/lib32/libc.so.7 -- or in a jail and/or vimage -- 32-bit in nature; r=
esults are same).
>>
>> Executable runs fine, but you can't (a) set the default route or (b) vie=
w the default route (after successfully setting it with the amd64 build, of=
 course).
>>
>> ASIDE: This is under 8.1-RELEASE.
>>
>> When attempting to set the default route, you get the following...
>>
>> root@kps0a / # route add -net default 10.10.125.99
>> route: writing to routing socket: Invalid argument
>> add net default: gateway 10.10.125.99: Invalid argument
>>
>> Meanwhile, using the amd64 version, no issues.
>>
>> When attempting to view the default route, you get the following...
>>
>> root@kps0a / # route -n get default
>> =A0 route to: default
>> destination: default
>> =A0 =A0 =A0 mask: default
>> =A0 =A0gateway: default
>> =A0 =A0 =A0flags: <UP,GATEWAY,DONE,STATIC>
>> =A0recvpipe =A0sendpipe =A0ssthresh =A0rtt,msec =A0 =A0mtu =A0 =A0 =A0 =
=A0weight =A0 =A0expire
>> =A0 =A0 =A0 0 =A0 =A0 =A0 =A0 0 =A0 =A0 =A0 =A0 0 =A0 =A0 =A0 =A0 0 =A0 =
=A0 =A0 =A0 0 =A0 =A0 =A0 =A0 0 =A0-1316570637
>>
>> It's the "gateway: default" that's out of place.
>>
>
> Currently, FreeBSD has a poor shape of rtsocket freebsd32 compatibility,
> AFAIK only sysctl layer (sysctl_rtsock) is aware of it.
> That means when a 32bit app writes some data to a routing socket,
> kernel expects to receive it in the native ABI, and it doesn't work.

We have changes at work to make some of this stuff work.

However, in theory we generally don't support administrative tool
emulation.  Have you considered perhaps putting some static linked
native binaries for route,netstat,etc into your jail?


--=20
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI6FJV
"All of this is for nothing if we don't go to the stars" - JMS/B5
"If Java had true garbage collection, most programs would delete
themselves upon execution." -- Robert Sewell



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGE5yCqDq1hjSTS6fEDtE5mKLT1p3ZyOzThrF3oFrGopy2ZPdA>