]> git.proxmox.com Git - mirror_frr.git/blame - doc/user/kernel.rst
Merge pull request #3516 from qlyoung/doc-ip-nht-resolve-via-default
[mirror_frr.git] / doc / user / kernel.rst
CommitLineData
0efdf0fe 1.. _kernel-interface:
8fa64b2a 2
42fc5d26
QY
3****************
4Kernel Interface
5****************
6
7There are several different methods for reading kernel routing table
50e75a2b
QY
8information, updating kernel routing tables, and for looking up interfaces.
9
10- ioctl
11 This method is a very traditional way for reading or writing kernel
12 information. `ioctl` can be used for looking up interfaces and for
13 modifying interface addresses, flags, mtu settings and other types of
14 information. Also, `ioctl` can insert and delete kernel routing table
15 entries. It will soon be available on almost any platform which zebra
16 supports, but it is a little bit ugly thus far, so if a better method is
17 supported by the kernel, zebra will use that.
18
19- sysctl
20 This is a program that 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 `ioctl`.
24
25- proc filesystem
26 This is a special filesystem mount that provides an easy way of getting
27 kernel information.
28
d1e7591e 29- routing socket / Netlink
50e75a2b 30 On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user
d1e7591e 31 communication support called `Netlink`. It makes asynchronous communication
50e75a2b
QY
32 between kernel and FRR possible, similar to a routing socket on BSD systems.
33
34 Before you use this feature, be sure to select (in kernel configuration) the
d1e7591e 35 kernel/Netlink support option 'Kernel/User network link driver' and 'Routing
50e75a2b
QY
36 messages'.
37
38 Today, the :file:`/dev/route` special device file is obsolete. Netlink
d1e7591e 39 communication is done by reading/writing over Netlink socket.
50e75a2b
QY
40
41 After the kernel configuration, please reconfigure and rebuild FRR. You can
d1e7591e 42 use Netlink as a dynamic routing update channel between FRR and the kernel.