GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

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

setfibset the default FIB (routing table) for the calling process

Standard C Library (libc, -lc)

#include <sys/socket.h>

int
setfib(int fib);

The () system call sets the associated FIB (routing table) 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 or /etc/sysctl.conf with

net.fibs="N"

where N is an integer smaller than 65536. Note that the number of FIBs may be increased after booting, but cannot be reduced.

The maximum of 65536 is 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.

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.

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.

setfib(1), setsockopt(2)

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

The setfib() function appeared in FreeBSD 7.1.

January 10, 2025 FreeBSD 14.3-RELEASE

Search for    or go to Top of page |  Section 2 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.