Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 maxi-
     mum 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	imple-
     mentation 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	de-
     fault 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 exten-
     sions have	been added to many other UNIX style kernels.

HISTORY
     The setfib() function appeared in FreeBSD 7.1.

FreeBSD	13.0			March 19, 2012			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=setfib&sektion=2&manpath=FreeBSD+13.2-RELEASE+and+Ports>

home | help