Chinaunix首页 | 论坛 | 博客
  • 博客访问: 643911
  • 博文数量: 155
  • 博客积分: 5688
  • 博客等级: 大校
  • 技术积分: 2134
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-15 15:12
文章分类

全部博文(155)

文章存档

2011年(58)

2010年(97)

分类: LINUX

2010-09-18 18:29:44

声明:本文为原创
#####请转贴时保留以下内容######
作者GTT
本文档归属http://oldtown.cublog.cn/.转载请注明出处!
请提出宝贵意见Mail:mtloveft@hotmail.com
Linux Version:2.6.33
提示本文是介绍linux 网络协议栈初始化
继续介绍subsys_initcall级别的网络初始化方法。
策略路由的初始化。
 

static int __init fib_rules_init(void)
{
    int err;
    rtnl_register(PF_UNSPEC, RTM_NEWRULE, fib_nl_newrule, NULL);
    rtnl_register(PF_UNSPEC, RTM_DELRULE, fib_nl_delrule, NULL);
    rtnl_register(PF_UNSPEC, RTM_GETRULE, NULL, fib_nl_dumprule);

    err = register_pernet_subsys(&fib_rules_net_ops);
    if (err < 0) goto fail;

    err = register_netdevice_notifier(&fib_rules_notifier);
    if (err < 0) goto fail_unregister;

    return 0;

fail_unregister:
    unregister_pernet_subsys(&fib_rules_net_ops);
fail:
    rtnl_unregister(PF_UNSPEC, RTM_NEWRULE);
    rtnl_unregister(PF_UNSPEC, RTM_DELRULE);
    rtnl_unregister(PF_UNSPEC, RTM_GETRULE);
    return err;
}

 
先注册和user space 进行交互的netlink。
 
 
 
 
 
阅读(1835) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~