Annotation of embedaddon/quagga/doc/kernel.texi, revision 1.1
1.1 ! misho 1: @node Kernel Interface
! 2: @chapter Kernel Interface
! 3:
! 4: There are several different methods for reading kernel routing table
! 5: information, updating kernel routing tables, and for looking up
! 6: interfaces.
! 7:
! 8: @table @samp
! 9:
! 10: @item ioctl
! 11: The @samp{ioctl} method is a very traditional way for reading or writing
! 12: kernel information. @samp{ioctl} can be used for looking up interfaces
! 13: and for modifying interface addresses, flags, mtu settings and other
! 14: types of information. Also, @samp{ioctl} can insert and delete kernel
! 15: routing table entries. It will soon be available on almost any platform
! 16: which zebra supports, but it is a little bit ugly thus far, so if a
! 17: better method is supported by the kernel, zebra will use that.
! 18:
! 19: @item sysctl
! 20: @samp{sysctl} can lookup kernel information using MIB (Management
! 21: Information Base) syntax. Normally, it only provides a way of getting
! 22: information from the kernel. So one would usually want to change kernel
! 23: information using another method such as @samp{ioctl}.
! 24:
! 25: @item proc filesystem
! 26: @samp{proc filesystem} provides an easy way of getting kernel
! 27: information.
! 28:
! 29: @item routing socket
! 30:
! 31: @item netlink
! 32: On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user
! 33: communication support called @code{netlink}. It makes asynchronous
! 34: communication between kernel and Quagga possible, similar to a routing
! 35: socket on BSD systems.
! 36:
! 37: Before you use this feature, be sure to select (in kernel configuration)
! 38: the kernel/netlink support option 'Kernel/User network link driver' and
! 39: 'Routing messages'.
! 40:
! 41: Today, the /dev/route special device file is obsolete. Netlink
! 42: communication is done by reading/writing over netlink socket.
! 43:
! 44: After the kernel configuration, please reconfigure and rebuild Quagga.
! 45: You can use netlink as a dynamic routing update channel between Quagga
! 46: and the kernel.
! 47: @end table
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>