Command Section

SETFIB(2)                 FreeBSD System Calls Manual                SETFIB(2)

NAME
     setfib - set the default FIB (routing table) for the calling process

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <sys/socket.h>

     int
     setfib(int fib);

DESCRIPTION
     The setfib() 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=N

     or 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 SO_SETFIB socket option.

RETURN VALUES
     The setfib() function returns the value 0 if successful; otherwise the
     value -1 is returned and the global variable errno is set to indicate the
     error.

ERRORS
     The setfib() 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 ALSO
     setfib(1), setsockopt(2)

STANDARDS
     The setfib() system call is a FreeBSD extension however similar
     extensions have been added to many other UNIX style kernels.

HISTORY
     The setfib() function appeared in FreeBSD 7.1.

FreeBSD 13.1-RELEASE-p6         March 19, 2012         FreeBSD 13.1-RELEASE-p6

Command Section

man2web Home...