Annotation of embedaddon/quagga/doc/kernel.texi, revision 1.1.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>