VPP
文章平均质量分 59
赵占旭
这个作者很懒,什么都没留下…
展开
-
Cisco VPP(1) 简介
思科开源了VPP,属于一个可以灵活扩展的框架,并且内置了网络的一部分功能,主要是L2和L3。该软件将DPDK纳入为一种收包方式。原创 2016-04-21 13:58:53 · 29618 阅读 · 5 评论 -
Cisco VPP(2) 基本安装
VPP目前安装主要支持debian和redhat系,本人在CentOS7上验证。1、 下载代码: gitclone https://gerrit.fd.io/r/vpp2、 进入目录并且安装: cdvpp; make install-dep;3、 生成Makefile: cdvpp/build-root;make distclean;./bootstrap.sh;4、原创 2016-04-21 14:06:37 · 9635 阅读 · 1 评论 -
Cisco VPP(3) 启动流程
VPP初始化VLIB_INIT_FUNCTION用来定义构造函数,注册函数到vlib_main_t->init_function_registrations,这个链表在main()函数之前创建。vlib_main()-> vlib_call_all_init_functions()注册的函数在这里被调用初始化,最后执行函数vlib_main_loop()。像这样由宏定义和构造函数创建的原创 2016-04-21 14:25:42 · 9261 阅读 · 0 评论 -
Cisco VPP(5) node关系图
资料来源:https://fd.io/欢迎加入VPP讨论群:417538415原创 2016-04-21 14:32:25 · 11942 阅读 · 0 评论 -
Cisco VPP(7) 插件开发
还在初学阶段,如果有误,希望多批评指正。在VPP中,插件可以在程序启动的时候加载,一般我们会往里面加入node,实现一些功能。首先介绍怎么直接重定义硬件接口RX到我们的nodevnet_hw_interface_rx_redirect_to_node(vnet_main,hw_if_index, my_graph_node.index /* redirect to my_gra原创 2016-04-22 10:44:21 · 9269 阅读 · 0 评论 -
Cisco VPP(4) node
参照前面的帖子Cisco VPP启动流程vlib_main()->vlib_register_all_static_nodes()->register_node()主要是将node链表中的所有node进行初始化,并且根据node之间的关系进行串联。vlib_main_loop()主要是去处理node中的操作。核心操作包含以下两个点:收包的入口函数,比如d原创 2016-04-29 16:03:21 · 6488 阅读 · 0 评论 -
Cisco vpp(6) 工作模式
还在初学阶段,如果有误,希望多批评指正。VPP 四种模式:单线程只有worker线程多线程IO和worker线程都是多线程主线程多线程,主线程同时做了IO和worker的工作 单线程主线程做了包处理和其他的管理功能(CLI、API、统计)。这是默认设置,不需要特殊的启动配置。只有worker多线程主线程负责管理功能(CL翻译 2016-06-08 21:38:39 · 9654 阅读 · 0 评论