Cisco VPP(3) 启动流程

本文详细介绍了VPP的启动流程,从VLIB_INIT_FUNCTION构造函数的注册到vlib_main_loop()的执行。主要内容包括vpp/vnet/main.c的main()函数、vlib/unix/main.c的vlib_unix_main()函数、thread0()函数以及vlib_main()函数。在启动过程中,VPP加载插件、解析命令行选项、创建线程,并初始化图节点,最终进入主循环处理不同类型的图结点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VPP初始化

VLIB_INIT_FUNCTION用来定义构造函数,注册函数到vlib_main_t->init_function_registrations,这个链表在main()函数之前创建。

vlib_main()-> vlib_call_all_init_functions()注册的函数在这里被调用初始化,最后执行函数vlib_main_loop()

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

·        VLIB_API_INIT_FUNCTION

·        VLIB_CLI_COMMAND

·        VLIB_CONFIG_FUNCTION

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值