|
NAMEsetfib —
set the default FIB (routing table) for the calling
process
LIBRARYStandard C Library (libc, -lc)SYNOPSIS#include <sys/socket.h>
int
DESCRIPTIONThesetfib () system call sets the associated fib for all
sockets opened subsequent to the call, to be that of the argument
fib. The fib argument must be
greater than or equal to 0 and less than the current system maximum which may
be retrieved by the net.fibs sysctl. The system maximum
is set in the kernel configuration file with
options
ROUTETABLES= Nor in /boot/loader.conf with net.fibs=“N” where N is an integer. This maximum is capped at 65536 due to the implementation storing the fib number in a 16-bit field in the mbuf(9) packet header, however it is not suggested that one use such a large number as memory is allocated for every FIB regardless of whether it is used, and there are places where all FIBs are iterated over. The default fib of the process will be applied to all protocol
families that support multiple fibs, and ignored by those that do not. The
default fib for a process may be overridden for a socket with the use of the
RETURN VALUESThesetfib () function returns the value 0 if
successful; otherwise the value -1 is returned and the global variable
errno is set to indicate the error.
ERRORSThesetfib () system call will fail and no action will be
taken and return EINVAL if the
fib argument is greater than the current system maximum.
SEE ALSOsetfib(1), setsockopt(2)STANDARDSThesetfib () system call is a
FreeBSD extension however similar extensions have been
added to many other UNIX style kernels.
HISTORYThesetfib () function appeared in
FreeBSD 7.1.
Visit the GSP FreeBSD Man Page Interface. |