]>
Commit | Line | Data |
---|---|---|
0efdf0fe | 1 | .. _kernel-interface: |
8fa64b2a | 2 | |
42fc5d26 QY |
3 | **************** |
4 | Kernel Interface | |
5 | **************** | |
6 | ||
7 | There are several different methods for reading kernel routing table | |
50e75a2b QY |
8 | information, 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. |