SYNOPSIS 总揽
#include
#include
#include
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 是从用户程序空间对以太网驱动程序进行仿