32-bit route(8) on amd64 host and jails

Peter Wemm peter at wemm.org
Wed Sep 21 17:56:38 UTC 2011

On Wed, Sep 21, 2011 at 5:47 AM, Sergey Kandaurov <pluknet at gmail.com> wrote:
> On 21 September 2011 06:40, Devin Teske <devin.teske at fisglobal.com> wrote:
>> I'm noticing that a 32-bit route(8) shows strange behaviour while running under an amd64 kernel (regardless of whether in the base-host -- utilizing /usr/lib32/libc.so.7 -- or in a jail and/or vimage -- 32-bit in nature; results are same).
>> Executable runs fine, but you can't (a) set the default route or (b) view 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 at kps0a / # route add -net default
>> route: writing to routing socket: Invalid argument
>> add net default: gateway Invalid argument
>> Meanwhile, using the amd64 version, no issues.
>> When attempting to view the default route, you get the following...
>> root at kps0a / # route -n get default
>>   route to: default
>> destination: default
>>       mask: default
>>    gateway: default
>>      flags: <UP,GATEWAY,DONE,STATIC>
>>  recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
>>       0         0         0         0         0         0  -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?

Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at 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

More information about the freebsd-amd64 mailing list