荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: 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软件 网络书店