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>