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>
index | next in thread | previous in thread | raw e-mail
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 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@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 >> 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@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 Sewellhelp
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGE5yCqDq1hjSTS6fEDtE5mKLT1p3ZyOzThrF3oFrGopy2ZPdA>
