首页 > Web开发 > 详细

netlink通信

时间:2014-12-30 23:22:07      阅读:411      评论:0      收藏:0      [点我收藏+]

1:参考网址

2:netlink相关socket API

      netlink用于程序与内核模块之间进行通信。用户态使用netlink与内核态使用netlink方式不同,Linux container在网络管理这一块处于用户空间。netlink 在用户态的API与tcp/ip通信使用的socket api 类似,主要api为socket()、bind()、sendmsg()、recvmsg().

  • socket()

      使用netlink需要包含的头文件为linux/netlink.h和sys/socket.h(socket api头文件)。创建socket函数。

int socket(AF_NETLNK,SOCK_RAW,netlink_type)

    创建socket时地址族选择AF_NETLINK或者PF_NETLINK。第二个参数还可以是SOCK_DGRAM。第三个参数指定netlink协议类型。socket所有的地址族有以下所有类型:
AF_INET               IPv4协议族
AF_INET6              IPv6协议族
AF_LOCAL              Unix域协议
AF_ROUTE              路由套接字
AF_KEY                密钥套接字

     有时AF也用PF代替,PF代表 Protocol Family(协议族),AF代表Address Familiy(地址族)。

     第二个参数指明通信字节流类型,其取值如SOCK_STREAM(tcp方式),SOCK_DGRAM(udp方式)、SOCK_RAW(原始套接口)、SOCK_PACKET(支持数据链路访问)。

     netlink_type类型如下:

#define NETLINK_ROUTE           0       /* Routing/device hook                          */
#define NETLINK_W1              1       /* 1-wire subsystem                             */
#define NETLINK_USERSOCK        2       /* Reserved for user mode socket protocols      */
#define NETLINK_FIREWALL        3       /* Firewalling hook                             */
#define NETLINK_INET_DIAG       4       /* INET socket monitoring                       */
#define NETLINK_NFLOG           5       /* netfilter/iptables ULOG */
#define NETLINK_XFRM            6       /* ipsec */
#define NETLINK_SELINUX         7       /* SELinux event notifications */
#define NETLINK_ISCSI           8       /* Open-iSCSI */
#define NETLINK_AUDIT           9       /* auditing */
#define NETLINK_FIB_LOOKUP      10
#define NETLINK_CONNECTOR       11
#define NETLINK_NETFILTER       12      /* netfilter subsystem */
#define NETLINK_IP6_FW          13
#define NETLINK_DNRTMSG         14      /* DECnet routing messages */
#define NETLINK_KOBJECT_UEVENT  15      /* Kernel messages to userspace */
#define NETLINK_GENERIC         16

netlink通信

原文:http://www.cnblogs.com/flyingdirt/p/4194649.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!