From owner-freebsd-amd64@FreeBSD.ORG Wed Sep 21 13:15:28 2011 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C9521065675 for ; Wed, 21 Sep 2011 13:15:28 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-yi0-f54.google.com (mail-yi0-f54.google.com [209.85.218.54]) by mx1.freebsd.org (Postfix) with ESMTP id 3ED198FC1A for ; Wed, 21 Sep 2011 13:15:27 +0000 (UTC) Received: by yia13 with SMTP id 13so1402931yia.13 for ; Wed, 21 Sep 2011 06:15:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=9BAxCz0guXH/SxUscIg3qjaWER8HcTrmuIF8RR+roGg=; b=A2EHGdai052e7RaMzQSi1TT3S8dMN6iZGlH36XojZLsBH1a0T21sdu/xldKUmUke7t jwLnGCz/4occbjRP8mE7bvrYLAOPzOTOLIxs1XpQKPzyIPdLJ8v/3D6u45j48M/g2YLb GfkCQJs8nTkS8UD4srEj391nZsZIwVBpr1J6k= MIME-Version: 1.0 Received: by 10.150.14.1 with SMTP id 1mr934114ybn.383.1316609239948; Wed, 21 Sep 2011 05:47:19 -0700 (PDT) Received: by 10.150.53.2 with HTTP; Wed, 21 Sep 2011 05:47:19 -0700 (PDT) In-Reply-To: <714EF3C9-33B0-4EF5-B52C-1E95F7F432F9@fisglobal.com> References: <714EF3C9-33B0-4EF5-B52C-1E95F7F432F9@fisglobal.com> Date: Wed, 21 Sep 2011 16:47:19 +0400 Message-ID: From: Sergey Kandaurov To: Devin Teske Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Dave Robison , FreeBSD amd64 Subject: Re: 32-bit route(8) on amd64 host and jails X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Sep 2011 13:15:28 -0000 On 21 September 2011 06:40, Devin Teske 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; re= sults 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 > =A0 route to: default > destination: default > =A0 =A0 =A0 mask: default > =A0 =A0gateway: default > =A0 =A0 =A0flags: > =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. --=20 wbr, pluknet