RFC 3549 (rfc3549) - Page 2 of 33
Linux Netlink as an IP Services Protocol
Alternative Format: Original Text Document
RFC 3549 Linux Netlink as an IP Services Protocol July 2003
Table of Contents
1. Introduction ............................................... 2
1.1. Definitions ........................................... 3
1.1.1. Control Plane Components (CPCs)................ 3
1.1.2. Forwarding Engine Components (FECs)............ 3
1.1.3. IP Services ................................... 5
2. Netlink Architecture ....................................... 7
2.1. Netlink Logical Model ................................. 8
2.2. Message Format......................................... 9
2.3. Protocol Model......................................... 9
2.3.1. Service Addressing............................. 10
2.3.2. Netlink Message Header......................... 10
2.3.3. FE System Services' Templates.................. 13
3. Currently Defined Netlink IP Services....................... 16
3.1. IP Service NETLINK_ROUTE............................... 16
3.1.1. Network Route Service Module................... 16
3.1.2. Neighbor Setup Service Module.................. 20
3.1.3. Traffic Control Service........................ 21
3.2. IP Service NETLINK_FIREWALL............................ 23
3.3. IP Service NETLINK_ARPD................................ 27
4. References.................................................. 27
4.1. Normative References................................... 27
4.2. Informative References................................. 28
5. Security Considerations..................................... 28
6. Acknowledgements............................................ 28
Appendix 1: Sample Service Hierarchy .......................... 29
Appendix 2: Sample Protocol for the Foo IP Service............. 30
Appendix 2a: Interacting with Other IP services................. 30
Appendix 3: Examples........................................... 31
Authors' Addresses.............................................. 32
Full Copyright Statement........................................ 33
1. Introduction
The concept of IP Service control-forwarding separation was first
introduced in the early 1990s by the BSD 4.4 routing sockets [9].
The focus at that time was a simple IP(v4) forwarding service and how
the CPC, either via a command line configuration tool or a dynamic
route daemon, could control forwarding tables for that IPv4
forwarding service.
The IP world has evolved considerably since those days. Linux
Netlink, when observed from a service provisioning and management
point of view, takes routing sockets one step further by breaking the
barrier of focus around IPv4 forwarding. Since the Linux 2.1 kernel,
Netlink has been providing the IP service abstraction to a few
services other than the classical RFC 1812 IPv4 forwarding.
Salim, et. al. Informational