qs类型适用于进入当前node处理的数据包都转发到下一个相同的node,vpp通过向量指令进行优化,提高了处理性能

1.定义该node的下一个node

可以看出和dual是一样的,一点点区别是模板默认下一个节点是error-drop 也就是丢弃

2.数据包如何转发

除了最后一个函数vlib_buffer_enqueue_to_next,其他和dual都是相同的

3.qs和dual的区别

其实区别也能明显看出,qs类型的节点不再是一个一个获取数据包的地址,而是一开始就用vlib_get_buffers函数获取所有数据包的地址,最后通过vlib_buffer_enqueue_to_next函数统一把数据包发走

最大的差别就在vlib_buffer_enqueue_to_next函数

通过源码可以看出

从这些代码可以看出,vpp是通过向量指令对于相同流程的数据包做了指令集优化,现在主要是SSE2指令集优化,如果不了解的可以看看这篇文章C/C++指令集介绍以及优化(主要针对SSE优化)

这样就可以理解了前面说的为什么qs是数据包基本走相同节点的

vpp之node节点分析二: qs类型相关推荐

  1. 在Unity中创建基于Node节点的编辑器 (二) 窗口序列化

    孙广东  2018.5.13 csdn 的产品 , 真垃圾, 不想吐槽了, 文章保存就丢!     没办法  .    怎么不满意, 还是得继续用, 哎~~~ 第二部分 在Unity中序列化基于节点的 ...

  2. ENS最新合约源码分析二

    ENS(以太坊域名服务)智能合约源码分析二 0.简介 ​ 本次分享直接使用线上实际注册流程来分析最新注册以太坊域名的相关代码.本次主要分析最新的关于普通域名注册合约和普通域名迁移合约,短域名竞拍合约不 ...

  3. 【Groovy】编译时元编程 ( 方法拦截时用到的 AST 语法树节点 MethodNode 节点 | MethodNode 节点分析 | MethodNode 节点中的BlockStatement)

    文章目录 一.方法拦截时用到的 AST 语法树节点 MethodNode 节点 二.MethodNode 节点分析 三.MethodNode 节点中的 BlockStatement 集合 一.方法拦截 ...

  4. 利用python爬虫(part7)--初识Xpath之Node节点

    学习笔记 编辑器:Sublime PS:因为爬虫接触Xpath,由于HTML的语法和XML很类似,所以这里想把Xpath都应用在HTML中.注意,这里我们用python进行分析,会使用lxml模块. ...

  5. aliases节点分析

    在设备树中有一个叫做aliases的节点: / {#address-cells = <1>;#size-cells = <1>;aliases {fimc0 = &fi ...

  6. Node节点禁止调度(平滑维护)方式- cordon,drain,delete

    cordon.drain和delete三个命令都会使node停止被调度,后期创建的pod不会继续被调度到该节点上,但操作的暴力程度却不一样. 一.cordon 停止调度(不可调度,临时从K8S集群隔离 ...

  7. 《Kubernetes故障篇:Kubernetes Node节点DiskPressure异常处理》

    文章目录 一.问题背景 二.问题分析 2.1.查看问题pod日志信息 2.2.查看节点磁盘容量信息 2.3.查看系统日志信息 三.解决方案 3.1.方案一 3.2.方案二 总结:整理不易,如果对你有帮 ...

  8. gSOAP 源码分析(二)

    gSOAP 源码分析(二) 2012-5-24 flyfish 一 gSOAP XML介绍 Xml的全称是EXtensible Markup Language.可扩展标记语言.仅仅是一个纯文本.适合用 ...

  9. 搭建K8S集群之node节点部署

    在上一篇文章中,我们完成了K8S系列之K8S集群之Master节点部署,在这篇文章中,我们将开始部署Node节点相关的组件.在node节点上,需要部署kubelet和kube-proxy两个K8S组件 ...

  10. Node节点、NodeList节点列表

    一.NOde节点 属性 className  设置/返回元素的class属性的属性值 innerHTML 设置/返回元素的开始标签与结束标签之间的内容 value 设置/返回文本框与文本域的内容 ne ...

最新文章

  1. Class与Style绑定
  2. 偏移shaderuv_Unity Shader UV平移、旋转、缩放效果
  3. JavaScript定义函数的几种方式
  4. poj 3207 Ikki's Story IV - Panda's Trick(2-SAT)
  5. Informix存储过程
  6. 【AC Saber】二分
  7. (Joomla)字符串截取
  8. 互联网日报 | 6月27日 星期日 | B站举办十二周年演讲;特斯拉在华召回285520辆汽车;小鹏汽车将于7月7日在港上市...
  9. 干货 | 用Python做图像处理:图像导数实战
  10. 剑指offer06:从尾到头打印链表
  11. php smarty2 框架,PHP CodeIngiter 2.x.x 框架与 Smarty 3.x.x 模板引擎整合
  12. java 字符串中提取数字_java从字符串中提取数字的简单实例
  13. 数据结构课程笔记1-水王问题
  14. 如何使用串口调试助手(调试串口)
  15. 打官司除了找律师,还能找谁?
  16. KALI attack 实验室
  17. 东师《中国画技法》离线作业网考
  18. day 46 html 标签补充
  19. 安卓锁屏灭屏加载流程
  20. 根据工资计算应缴纳的党费

热门文章

  1. chrome历史版本下载
  2. uniapp使用阿里icon详细步骤
  3. spring - 源码下载与构建
  4. 应用程序虚拟化工具(VMware ThinApp)5.2.1汉化绿色企业版
  5. 【有限元分析】ANSYS workbench CFX风力机外流场计算
  6. 软件观念革命:交互设计精髓_最全交互设计书单
  7. 打狗棒法之:Cknife(C刀)自定义模式秒过安全狗(二)
  8. Mac无法打开“XX”,因为Apple无法检查其是否包含恶意软件。”的解决办法
  9. matlab 圆和直线的交点,用matlab求直线和椭圆的交点坐标!
  10. Linux tcpdump命令实战