声明:本文为原创
#####请转贴时保留以下内容######
作者:GTT
请提出宝贵意见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) |