荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: jjk (UNIX+C+XML+?? 傻了?), 信区: Linux
标 题: IP的初始化函数分析(转寄)
发信站: 荔园晨风BBS站 (Mon Apr 22 19:49:14 2002), 转信
【 以下文字转载自 jjk 的信箱 】
【 原文由 jjk.bbs@apue.dhs.org 所发表 】
发信人: tl (tl), 信区: UKP
标 题: IP的初始化函数分析
发信站: UNIX编程 (2002年04月16日21:00:51 星期二), 转信
作者:硅谷农民<mailto:ggnm@kerneldiary.net>
void __init ip_init(void)
当系统启动的时候,会调用inet_init(void)来初始化网络子系统,这个函数又调用
ip_init来初始化IP协议处理模块(注册处理函数,分配路由处理表等等)。
实现过程:
* 注册IP协议处理函数。将ip_packet_type放入到ptype_base(Linux的网络协议处理
链表)中,
其中IP层的接收函数为ip_rcv。
* 初始化路由表(routing table),Linux的路由处理比较复杂,需另撰文分析。
* 初始化对等IP(peer ip)信息表,需另撰文分析。
/*
* IP protocol layer initialiser
*/
static struct packet_type ip_packet_type =
{
__constant_htons(ETH_P_IP),
NULL, /* All devices */
ip_rcv,
(void*)1,
NULL,
};
/*
* IP registers the packet type and then calls the subprotocol
initialisers
*/
void __init ip_init(void)
{
dev_add_pack(&ip_packet_type);
ip_rt_init();
inet_initpeers();
#ifdef CONFIG_IP_MULTICAST
proc_net_create("igmp", 0, ip_mc_procinfo);
#endif
}
--
欲慰韶华携吴钩,剑雪刀霜遣风流。
一蓑烟雨平生事,道无狂嚣亦无愁!
※ 来源:·UNIX编程 apue.dhs.org·[FROM: 166.111.160.6] --
※ 转寄:·UNIX编程 apue.dhs.org·[FROM: 210.39.3.50]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店