32-bit route(8) on amd64 host and jails
devin.teske at fisglobal.com
Wed Sep 21 03:28:12 UTC 2011
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 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 at kps0a / # route -n get default
route to: default
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.
--- break ---
Now, where jails and/or vimages come into play is that I can't seem to come up with an elegant solution to this.
Copying-in an amd64 build of route(8) is not the "simple" solution it seems as it will then expect a new /usr/libexec/ld-elf.so.1(which you can't just go replacing because it will break all the 32-bit binaries inside the jail).
Maybe, doing the opposite of what the base host does ... (the base has /usr/libexec/ld-elf32.so.1). That is, create /usr/libexec/ld-elf64.so.1 to interpret the drop-in route(8)?
The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you.
More information about the freebsd-amd64