现象

VPP在转发时,如果有莫名丢包。而且在命令行输入vppctl show error的时候出现某个节点no available buffer字样。或者在show interface的时候出现out of buffer等字样。 说明可能是buffer不足导致的丢包。

调试

在命令行输入vppctl show buffers看一下avail字段是否变为0了。如果是0的话那就是没有可用的buffer了。如下所示,Avail字段就为0了

vpp# show buffers
Pool Name            Index NUMA  Size  Data Size  Total  Avail  Cached   Used
default-numa-0         0     0   2496     2048    16800    0       0     16800
default-numa-1         1     1   2496     2048    16800  16800     0       0

目前发现造成这个问题的原因可能有几个,主要是调整启动配置文件startup.conf,启动dpdk项里面,num-rx-queues 4和num-tx-queues 4等字段会影响buffer占用,这个队列的数值越大,占用的buffer越多。可以适当调小试一下。
也可以增大buffer的空间,我使用的VPP版本是19.04 release版本,可以在startup.conf中添加下面的内容,数值可以自行调整。

buffers
{buffers-per-numa 30000
}

由于VPP的版本更新比较快,但是资料更新很慢,所以很多资料上的参数都可能已经不适用了,我这个也不保证不同版本可以适用。主要的思路就是查看自己版本对应的VPP源码,找到src\vlib\buffer.c目录,查看vlib_buffers_configurebuffer模块的配置函数,例如我这个版本代码是下面,解析命令行时,有解析关键字buffers-per-numa所以就可以使用buffers-per-numa去尝试添加到startup.conf文件中调试。

while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT){if (unformat (input, "buffers-per-numa %u", &bm->buffers_per_numa));else if (unformat (input, "default data-size %u",&bm->default_data_size));elsereturn unformat_parse_error (input);}

VPP buffer不足相关推荐

  1. FD.io VPP:vlib buffer pool(vlib_buffer) 内存初始化

    Table of Contents vlib buffer创建过程 vlib_buffer相关内存初始化 1.函数一开始就查询numa的个数 2.遍历numa节点来初始化 3.查询系统大页大小. 4. ...

  2. VPP创建buffer池

    VPP默认创建了default-numa-0名称的buffer池,其自身索引为0,NUMA索引为0. vpp# show buffers Pool Name Index NUMA Size Data ...

  3. FD.io/VPP — 流量追踪

    目录 文章目录 目录 Using the trace command 应用示例 Examine Trace of ping from host to VPP Examine Trace of ping ...

  4. FD.io/VPP — VPP 的配置与运行

    目录 文章目录 目录 配置 80-vpp.conf startup.conf 可以配置 VPP 的 Threading Modes 运行示例 non-DPDK 模式运行 VPP DPDK 模式运行 V ...

  5. FD.io VPP:探究分段场景下vlib_buf在收发包的处理(dpdk_plugin.so)、rte_mbuf与vlib_buf 关系

    Table of Contents rte_mbuf.vlib_buf 关系及内存分布 使用dpdk-收包接口函数 使用dpdk 发包接口函数 总结 参考阅读 在使用vpp老版本copy报文的时候,经 ...

  6. FD.io VPP官方邮件列表

    https://www.mail-archive.com/vpp-dev@lists.fd.io/ 邮件内容更新截至2020年9月21日17:23:47 Messages by Thread [vpp ...

  7. FD.io VPP利用iperf3进行UDP灌包测试-英特尔X520万兆网卡

    FD.io VPP:用户文档 iperf3灌包测试 RToax 2020年9月 架构 1. VPP环境配置与启动 1.1. 安装VPP环境 略 1.2. VPP配置文件 启动配置文件startup-i ...

  8. FD.io VPP 20.05 官方文档 总目录:用户文档+开发文档+命令行

    https://docs.fd.io/vpp/20.05/index.html Vector Packet Processing FD.io VPP ▼Vector Packet Processing ...

  9. VPP命令行:启动配置,HTTP服务,DPDK配置

    目录 常用命令 启动配置 HTTP服务配置 VLIB命令行 常用命令 VPP CLI 功能 create sub BondEthernet0 834 创建子接口,tag是834 set interfa ...

  10. FD.io VPP的C语言接口如何使用:FD.io VPP: How To Use The C API

    目录 引言 - Introduction C语言API概述 - C API Overview 运行环境 - The Runtime Environment API回顾 - Message API Re ...

最新文章

  1. 修改CodeSmith中的SchemaExplorer.MySQLSchemaProvider
  2. Git之 手把手教你使用Git
  3. python3.x和python2.x唯一区别_Python3.x和Python2.x的区别介绍
  4. 有没有人带?这些都是学习生信的一大助力!
  5. 百度大脑公开课!快速定制高精度计算机视觉模型
  6. 【解决方案】IP代理池设计与解决方案
  7. 【图像重建】基于matlab卷积神经网络的图像超分辨率重建【含Matlab源码 1816期】
  8. Windows 下 tail 查看日志命令工具
  9. 低秩恢复算法(图像去噪)
  10. Python 代码实现验证码识别
  11. QQ获取群链接、二维码
  12. ESP32 WS2812B灯带 代码
  13. STM8L101+si4463低功耗和自动唤醒配置
  14. 食品的特征和鸿蒙,白粥养胃吗?知道这4种食物才是养胃高手
  15. 入门神经网络优化算法(六):二阶优化算法K-FAC
  16. Python学习手册之控制结构(二)
  17. Photoshop设计精讲笔记
  18. 服务器里那个文件是地图的爆率,关于普通图爆率研究
  19. 【Moasure魔尺】它是如何工作的?
  20. Prison Break中的经典台词

热门文章

  1. 抓包与发流软件与网络诊断
  2. 新国二选office和c语言,备考全国计算机二级MS Office考试这些你知道吗?
  3. 写一个线程安全的单例模式
  4. bp神经网络回归预测模型(python实现)_bp神经网络预测代码python
  5. AI - 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
  6. hiBurn下载-hitool烧写鸿蒙2.0系统到Hi3861V100-从哪里找到芯片列表文件更新芯片列表-HarmonyOS
  7. VM虚拟机完美运行macos
  8. JSONObject.fromObject()
  9. xp查看计算机mac地址查询,如何查看mac地址 xp系统查看查询mac地址方法介绍
  10. Java飞机大战 项目-源码