Penguin
Diff: LinuxNetlinkSockets
EditPageHistoryDiffInfoLikePages

Differences between version 3 and predecessor to the previous major change of LinuxNetlinkSockets.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 3 Last edited on Tuesday, August 9, 2005 6:21:25 pm by PerryLorier Revert
Older page: version 1 Last edited on Monday, September 13, 2004 12:02:12 am by MattBrown Revert
@@ -3,8 +3,10 @@
 !! Basic Introduction 
 The netlink protocol uses a special type of socket(2) to communicate with the Linux kernel. This socket is called a "Netlink Socket" surprisingly enough and can be created by specifing AF_NETLINK as the first argument to a socket(2) call, The socket type (second argument) can be either SOCK_DGRAM or SOCK_RAW, it makes absolutely no difference!, the third argument (netlink family) specifies which part of the linux networking stack you want to modify, for example NETLINK_ROUTE can be specified to modify the routing table (including interfaces), or NETLINK_ARPD can be specified to allow the arp table to be manipulated. A full list of available netlink families is found in netlink(7). 
  
 NETLINK_ROUTE is the most commonly used netlink family as it is used to add, delete and modify routes from the kernels routing table and can also be used to add, delete and modify the interfaces on the machine. 
+  
+Some of the basic Netlink principles are documented in RFC:3549.  
  
 !! Programming Netlink 
 There is somewhat of a lack of easy to read documentation regarding how to program using netlink sockets, however the information is all there in the end. As a start try the netlink(3), netlink(7), rtnetlink(3) and rtnetlink(7) manpages which provide a very technical description of the netlink protocol, all the information that you need to write a program using netlink is contained in these manpages.... should be easy from here right? 
  
@@ -16,7 +18,11 @@
 !! Applications Known to Use Netlink Sockets 
  
 * Quagga 
 * /sbin/ip (iproute2 package) 
+  
+!! Other Documentation:  
+* RFC:3549  
+* [Kernel Korner - Why and How to Use Netlink Socket|http://www.linuxjournal.com/article/7356]  
  
 ---- 
 Part Of CategoryNetworking