免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1727 | 回复: 3
打印 上一主题 下一主题

关于netlink问题的请教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-06 16:49 |只看该作者 |倒序浏览
NETLINK_CB(skb).pid = 0;
NETLINK_CB(skb).group  = 0;
NETLINK_CB(skb).dst_pid = pid;
NETLINK_CB(skb).dst_group = 0;

我用的是2.6.23.1的内核,编译时候说没有group和dst_pid项, 然后我找到结构定义的地方
struct netlink_skb_parms
{
        struct ucred                creds;                /* Skb credentials        */
        __u32                        pid;
        __u32                        dst_group;
        kernel_cap_t                eff_cap;
        __u32                        loginuid;        /* Login (audit) uid */
        __u32                        sid;                /* SELinux security id */
};
发现的确没有了,以前内核是有的。  

我现在是想问,没有了dst_pid 我如何知道传给那个应用程序? 请高手指教。谢谢

论坛徽章:
0
2 [报告]
发表于 2010-11-06 16:52 |只看该作者
我当时提过这个问题

http://linux.chinaunix.net/bbs/thread-1173153-1-1.html

由于我的水平低,查了半天也没查到
最后发现你不写这行也没关系。
反正我是调试成功了

还望各位高手给点说明,谢谢。

论坛徽章:
0
3 [报告]
发表于 2010-11-06 17:04 |只看该作者
回复 2# 程序c


    不写也可以啊?
  难道是 pid = nl_h->nlmsg_pid;  获取pid    然后调用
  int netlink_unicast(struct sock *ssk, struct sk_buff *skb, __u32 pid, int nonblock);
  这个函数发送时候里面pid就是获得pid  所以不需要写.......  忘高人指点

论坛徽章:
0
4 [报告]
发表于 2010-11-06 17:09 |只看该作者
回复  程序c


    不写也可以啊?
  难道是 pid = nl_h->nlmsg_pid;  获取pid    然后调用
  int n ...
rent198708 发表于 2010-11-06 17:04


反正我是这么调试通过的。确实可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP