内核启动网络协议栈堆栈
发布时间
阅读量:
阅读量
kernel的网络初始化顺序如下:
- core_initcall : sock_init
- fs_initcall : inet_init
- subsys_initcall : net_dev_init
- device_initcall : 设备驱动初始化
网络基础系统初始化过程的第一步,是通过core_initcall宏对sock_init函数进行修饰,该宏将sock_init函数安排在优先级为1的代码段中,意味着该函数将在整个初始化流程中率先被执行。此函数的主要功能是分配部分内存资源,并构建一个名为sock_fs_type的文件系统。在do_basic_setup函数中,sock_init会被调用,并且其执行时间早于internet协议的注册过程。因此,在所有TCP/IP子协议能够注册到socket层之前,必须首先完成基本的socket初始化工作。
static int __init sock_init(void)
{
/* * Initialize sock SLAB cache.
*/
sk_init();
/* * Initialize skbuff SLAB cache
*/
skb_init();
/* * Initialize the proto
全部评论 (0)
还没有任何评论哟~
