From: Quentin Young Date: Mon, 29 Jan 2018 15:57:13 +0000 (-0500) Subject: doc: cleanup kernel.rst X-Git-Tag: frr-5.0-dev~165^2~66 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=50e75a2b82fc0d394fd51d153bf2f539db6e9755;p=mirror%2Ffrr.git doc: cleanup kernel.rst Signed-off-by: Quentin Young --- diff --git a/doc/user/kernel.rst b/doc/user/kernel.rst index 4611277dec..3020fd81d6 100644 --- a/doc/user/kernel.rst +++ b/doc/user/kernel.rst @@ -5,49 +5,38 @@ Kernel Interface **************** There are several different methods for reading kernel routing table -information, updating kernel routing tables, and for looking up -interfaces. - - - -*ioctl* - The ``ioctl`` method is a very traditional way for reading or writing - kernel information. ``ioctl`` can be used for looking up interfaces - and for modifying interface addresses, flags, mtu settings and other - types of information. Also, ``ioctl`` can insert and delete kernel - routing table entries. It will soon be available on almost any platform - which zebra supports, but it is a little bit ugly thus far, so if a - better method is supported by the kernel, zebra will use that. - - -*sysctl* - ``sysctl`` can lookup kernel information using MIB (Management - Information Base) syntax. Normally, it only provides a way of getting - information from the kernel. So one would usually want to change kernel - information using another method such as ``ioctl``. - - -*proc filesystem* - ``proc filesystem`` provides an easy way of getting kernel - information. - - -*routing socket* - -*netlink* - On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user - communication support called `netlink`. It makes asynchronous - communication between kernel and FRR possible, similar to a routing - socket on BSD systems. - - Before you use this feature, be sure to select (in kernel configuration) - the kernel/netlink support option 'Kernel/User network link driver' and - 'Routing messages'. - - Today, the /dev/route special device file is obsolete. Netlink - communication is done by reading/writing over netlink socket. - - After the kernel configuration, please reconfigure and rebuild FRR. - You can use netlink as a dynamic routing update channel between FRR - and the kernel. - +information, updating kernel routing tables, and for looking up interfaces. + +- ioctl + This method is a very traditional way for reading or writing kernel + information. `ioctl` can be used for looking up interfaces and for + modifying interface addresses, flags, mtu settings and other types of + information. Also, `ioctl` can insert and delete kernel routing table + entries. It will soon be available on almost any platform which zebra + supports, but it is a little bit ugly thus far, so if a better method is + supported by the kernel, zebra will use that. + +- sysctl + This is a program that can lookup kernel information using MIB (Management + Information Base) syntax. Normally, it only provides a way of getting + information from the kernel. So one would usually want to change kernel + information using another method such as `ioctl`. + +- proc filesystem + This is a special filesystem mount that provides an easy way of getting + kernel information. + +- routing socket / netlink + On recent Linux kernels (2.0.x and 2.2.x), there is a kernel/user + communication support called `netlink`. It makes asynchronous communication + between kernel and FRR possible, similar to a routing socket on BSD systems. + + Before you use this feature, be sure to select (in kernel configuration) the + kernel/netlink support option 'Kernel/User network link driver' and 'Routing + messages'. + + Today, the :file:`/dev/route` special device file is obsolete. Netlink + communication is done by reading/writing over netlink socket. + + After the kernel configuration, please reconfigure and rebuild FRR. You can + use netlink as a dynamic routing update channel between FRR and the kernel.