VPP——可编程网络
众多产业正在提供更加软件化的网络服务,在这个环境中提供网络服务是亟待解决的问题。必需但是不足的是需要更多关注非本地的网络控制平面,需要更灵活、高效的数据以及路径交互平面。
VPP所具有的重要特点:灵活性,可维护性和高度的调试性,可提供高性能扩展性和高效IO
- vpp节点调度
vpp的函数调用更像是一种各个节点之间相互连接,通过决定下一跳节点的路径在确定整个代码的执行路径。同样这种方式的函数调用提供了很低的耦合性,所以基于这种方式的二次开发不用太多考虑各个模块之间的相互影响,甚至可以完全不用考虑,自己定义的节点根据格式给出相应的回调函数来插入自定义的功能,下面是一个简单转发的node调用图。
可以看到,在转发的过程中如果要加入自己的上层业务只需要定义新的节点,将其连接到对应位置,并不会影响到其他部分的封装。
- VPP NODE类型
VLIB_NODE_TYPE_