Provided by:
manpages-zh_1.5.2-1_all 
NAME
netlink, PF_NETLINK -
SYNOPSIS
#include <asm/types.h>
#include <sys/socket.h>
#include <linux/netlink.h>
netlink_socket = socket(PF_NETLINK, socket_type, netlink_family);
DESCRIPTION
Netlink API netlink
Netlink SOCK_RAW SOCK_DGRAM socket_type netlink datagram raw sockets
netlink_family netlink netlink
NETLINK_ROUTE
IPv4 ( rtnetlink(7))
NETLINK_FIREWALL
IPv4
NETLINK_ARPD
arp
NETLINK_ROUTE6
IPv6
NETLINK_IP6_FW
IPv6 ()
NETLINK_TAPBASE...NETLINK_TAPBASE+15
ethertap Ethertap ""
NETLINK_SKIP
Enskip
NETLINK_USERSOCK
Netlink nlmsghdr Netlink NLM_F_MULTI NLMSG_DONE NLMSG_* netlink(3).
Netlink NLM_F_ACK NLMSG_ERROR 0 () NLMSG_ERROR
netlink 32 bind(2) sockaddr_nl nl_groups 0
sendmsg(2) connect(2) nl_groups uid 0
CAP_NET_ADMIN netlink pid
struct nlmsghdr
{
__u32 nlmsg_len; /* */
__u16 nlmsg_type; /* */
__u16 nlmsg_flags; /* */
__u32 nlmsg_seq; /* */
__u32 nlmsg_pid; /* PID */
};
struct nlmsgerr
{
int error; /* errno 0 acks*/
struct nlmsghdr msg; /* */
};
nlmsghdr nlmsg_type NLMSG_NOOP NLMSG_ERROR nlmsgerr NLMSG_DONE
netlink NETLINK_ROUTE. rtnetlink(7)
nlmsg_flags
NLM_F_REQUEST
NLM_F_MULTI NLMSG_DONE
NLM_F_ACK
NLM_F_ECHO
GET
NLM_F_ROOT
NLM_F_MATCH
NLM_F_ATOMIC (atomic snapshot)
NLM_F_DUMP
NEW
NLM_F_REPLACE
NLM_F_EXCL
NLM_F_CREATE
NLM_F_APPEND
NLM_F_ATOMIC CAP_NET_ADMIN
sockaddr_nl netlink sockaddr_nl netlink (nl_groups 0).
struct sockaddr_nl
{
sa_family_t nl_family; /* AF_NETLINK */
unsigned short nl_pad; /* */
pid_t nl_pid; /* pid */
__u32 nl_groups; /* */
};
nl_pid netlink pid 0 nl_groups neltlink
BUGS
NOTES
libnetlink netlink
VERSIONS
netlink Linux 2.2
Linux 2.0 netlink(
cmsg(3), rtnetlink(7), netlink(3).
ftp://ftp.inr.ac.ru/ip-routing/iproute2* libnetlink
[]
LetBright <letbright@netease.com>
[]
2000/11/09
linuxman:
http://cmpp.linuxforum.net