Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

setfib(2) [freebsd man page]

SETFIB(2)						      BSD System Calls Manual							 SETFIB(2)

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 sys- tem 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 maxi- mum. 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. BSD
March 19, 2012 BSD

Check Out this Related Man Page

GETSOCKNAME(2)						      BSD System Calls Manual						    GETSOCKNAME(2)

getsockname -- get socket name LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/types.h> #include <sys/socket.h> int getsockname(int s, struct sockaddr * restrict name, socklen_t * restrict namelen); DESCRIPTION
The getsockname() system call returns the current name for the specified socket. The namelen argument should be initialized to indicate the amount of space pointed to by name. On return it contains the actual size of the name returned (in bytes). RETURN VALUES
The getsockname() 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 call succeeds unless: [EBADF] The argument s is not a valid descriptor. [ECONNRESET] The connection has been reset by the peer. [EINVAL] The value of the namelen argument is not valid. [ENOTSOCK] The argument s is a file, not a socket. [ENOBUFS] Insufficient resources were available in the system to perform the operation. [EFAULT] The name argument points to memory not in a valid part of the process address space. SEE ALSO
bind(2), getpeername(2), socket(2) HISTORY
The getsockname() system call appeared in 4.2BSD. BUGS
Names bound to sockets in the UNIX domain are inaccessible; getsockname() returns a zero length name. BSD
June 4, 1993 BSD
Man Page