RUMPHIJACK(3) | Library Functions Manual | RUMPHIJACK(3) |
rumphijack
—
rumphijack
between the main object
and other libraries. This enables rumphijack
to
capture and redirect system call requests to a rump kernel instead of the host
kernel.
The behaviour of hijacked applications is affected by the following environment variables:
RUMPHIJACK
In case the current working directory is changed to a blanketed directory, the current working directory will still be reported with the rump prefix, if available. Note, though, that some shells cache the directory and may report something else. In case no rump path prefix has been configured, the raw rump directory is reported.
It is recommended to supply blanketed pathnames as specific as possible, i.e. use /dev/bpf instead of /dev unless necessary to do otherwise. Also, note that the blanket prefix does not follow directory borders. In other words, setting the blanket for /dev/bpf means it is set for all pathnames with the given prefix, not just ones in /dev.
For example, “inet:inet6” specifies that
only PF_INET
and
PF_INET6
sockets should be hijacked, while
“all:noinet” specifies that all protocol families
except PF_INET
should be hijacked.
nfssvc
(),
getvfsstat
(), and all file handle calls,
respectively. The file handle calls include
fhopen
(), fhstat
(),
and fhstatvfs1
().
It is also possible to use “all” and “no” in the same fashion as with the socket hijack specifier.
__sysctl
() backend of the
sysctl(3) facility to
the rump kernel. Acceptable values are “yes” and
“no”, meaning to call the rump or the host kernel,
respectively.modctl
() call to the rump kernel.
Acceptable values are “yes” and “no”,
meaning to call the rump or the host kernel, respectively.FD_SETSIZE
for
select
() or if it opens a very large number of
file descriptors. The default value is 128.If the environment variable is unset, the default value “path=/rump,socket=all:nolocal” is used. The rationale for this is to have networked X clients work out-of-the-box: X clients use local sockets to communicate with the server, so local sockets must be used as a host service.
An empty string as a value means no calls are hijacked.
RUMPHIJACK_RETRYCONNECT
See rumpclient(3) for more discussion.
$ setenv RUMP_SERVER unix:///tmp/tcpip $ setenv LD_PRELOAD /usr/lib/librumphijack.so $ setenv RUMPHIJACK_RETRYCONNECT inftime $ firefox
December 16, 2018 | NetBSD 9.0 |