Advertisement

VPP-main() 代码研习

阅读量:

VPP初始化

VLIB_INIT_FUNCTION用于初始化构造函数,并将注册的函数存储于vlib_main_t->init_function_registrations中。该链表在调用main()函数之前被建立。

通过调用vlib_call_all_init_functions()方法进行注册与初始化,并随后执行vlib_main_loop()函数。

像这样由宏定义和构造函数创建的全局链表的方式还有如下几个:

· VLIB_API_INIT_FUNCTION

· VLIB_CLI_COMMAND

· VLIB_CONFIG_FUNCTION

· VLIB_EARLY_CONFIG_FUNCTION

· VLIB_MAIN_LOOP_ENTER_FUNCTION

· VLIB_MAIN_LOOP_EXIT_FUNCTION

· VLIB_REGISTER_NODE

vpp/vnet/main.c的main()函数

程序入口处将vlib_plugin_main.handoff_structure_get_cb函数指针配置为指向该函数

在vlib/unix/plugin.c文件中,vnet_get_handoff_structure()函数被其调用指针handoff_structure_get_cb所调用

该函数定义了一个名为

全部评论 (0)

还没有任何评论哟~