自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

翻译 ACL plugin constant-time lookup

而对于single_acl_match_5tuple()中的顺序检查,只需在适当的时刻触发即可实现,对于基于哈希的匹配,这需要我们进行两次检查:一个满5元组,标志pkt.is_nonfirst_fragment为零,第二个为3元组,标志为pkt.is_nonfirst_fragment是1,第二个检查由acl_main.L4_match_nonfirst_fragment设置为默认值1。每个ACL都有一个结构hash_acl_info_t,表示与该ACL相关的“基于哈希”的信息部分。

2024-01-02 15:07:29 68

原创 vpp acl-plugin 实现分析

vpp版本:v23.06。

2023-12-27 15:52:12 1032

翻译 Scalar vs Vector packet processing

vpp dpdk

2023-10-26 10:27:32 109

原创 E810 100G网卡和pcie bridge 总线带宽协商期望x16,结果X1,导致vpp性能不及预期

现象:pktgen 发包10000M/pps,vpp 运行在1,2,4,8,16 worker数时,数据包size(64,256,512)数据包转发量没有期望的差距量,且vpp接口rx-miss非常严重,远超过能处理数据包数。

2023-09-08 10:27:18 226

翻译 TRex Installation Guide

传统上,路由器使用商业流量生成器进行测试,而性能通常使用每秒数据包(PPS)指标来衡量。随着路由器功能和服务变得越来越复杂,有状态流量生成器已经成为提供更真实的流量场景的必要条件。精准的性能度量。发现真实流量场景中的瓶颈。TRex通过创新和可扩展的软件实现,以及利用标准,开放的软件和x86/UCS硬件,解决了与商用有状态流量生成器相关的问题。生成并分析L4-7流量。在一个包中,提供商用L7工具的功能。基于预处理和真实流量模板智能回放的有状态流量生成器。生成和放大客户端和服务器端流量。

2023-08-18 14:14:37 554

翻译 TRex Frequently Asked Questions

Stateful”模式用于测试网络设备,该设备可以保存每个流(5元组)的状态。通常这是通过在被测设备的成对接口上注入预先录制的捕获文件,并动态更改src/dst IP/port来完成的。在高级有状态模式下,它通过在TCP/UDP协议之上注入L7数据来完成。(这里可以理解为TRex可以解析抓取的pcap文件,修改源ip,源端口,目的ip,目的端口模拟大规模报文交互)Stateless”模式用于测试网络设备,该设备不会管理任何的流的任何状态(而是以每个数据包为基础进行操作)。

2023-08-17 15:41:51 345

翻译 VPP-ACL

cop feature通过使用fib,实现数据包的依次匹配过滤功能。它们主要的作用是通过添加fib表,对数据包进行源地址过滤。cop 节点(input & white-list)在vpp FIB 2.0中被重新启用,从本质上讲,如果在FIB中查找成功,则表明数据包已被列入白名单,可以转发。cop-input节点:判别数据帧是ipv4 或者是ipv6,然后转发到ipN-copwhitelist节点ip4-copwhitelist/ip6-copwhitelist。

2023-08-14 15:38:32 353

原创 vpp运行问题总结

vpp

2023-02-20 17:06:49 250 1

原创 bihash总结

vpp bihash

2022-08-02 15:49:48 398

原创 dpdk flow filter总结(flow director/ rte_flow)

dpdk flow filter

2022-07-06 16:51:53 1933

原创 virtualbox 虚拟机使用virtio-net 运行dpdk+vpp不能收取vlan报文解决

vpp运行在物理服务器上,不需要打开混杂模式。但是vpp运行在virtualbox 中使用virtio-net网卡的虚拟机时需要打开指定接口混杂模式,不然只能收取不带vlan的arp。eg:vpp 命令行中执行set interface promiscuous on dpdk0...

2022-04-20 23:56:04 1220

原创 linux 中c 程序操作网络namespace

/* SPDX-License-Identifier: GPL-2.0 */#define _ATFILE_SOURCE#include <sys/types.h>#include <sys/stat.h>#include <sys/wait.h>#include <sys/inotify.h>#include <sys/mount.h>#include <sys/syscall.h>#include <stdi.

2022-04-03 12:14:34 2195

原创 DPDK 编译安装(meson ninja)

dpdk

2022-03-27 10:43:04 3907

原创 vpp 使用E810

一、操作:vpp版本:2001dpdk版本:20.021 修改vpp使用指定dpdk版本DPDK_VERSION指定dpdk版本DPDK_20.02_TARBALL_MD5_CKSUM指定dpdk得md5值2.准备e810 ddp环境在https://www.intel.com/content/www/us/en/download/19660/30335/intel-ethernet-800-series-telecommunication-comms-dynamic-dev

2022-03-23 12:12:18 1039

原创 小米笔记本外接显示器无信号解决

小米笔记本外接显示器无信号

2021-12-14 10:11:54 8690 4

原创 vpp acl-plugin 总结

1、配置文件配置文件路径:/etc/vpp/startup.conf#defineACL_FA_CONN_TABLE_DEFAULT_HASH_NUM_BUCKETS(64*1024)#defineACL_FA_CONN_TABLE_DEFAULT_HASH_MEMORY_SIZE(1ULL<<30)#defineACL_FA_CONN_TABLE_DEFAULT_MAX_ENTRIES500000#defineACL_PLUGIN_HASH_LOOKUP_.........

2021-05-17 16:00:10 1057

原创 pktgen多实例总结

参考:https://pktgen-dpdk.readthedocs.io/en/latest/usage_pktgen.html#multiple-instances-of-pktgen-or-other-application可以参考pktgen源码中的pktgen-master.sh pktgen-slave.sh脚本假设服务器中绑定dpdk驱动的有两个网卡Network devices using DPDK-compatible driver=====================.

2021-03-08 17:16:19 387

原创 vpp bond 总结

1、vpp bond现状vpp 在19.08版本中已经移除了DPDK自带bond接口类型,也就是不支持通过参数(vdev eth_bond0,mode=2,slave=0000:0f:00.0,slave=0000:11:00.0,xmit_policy=l34)生成dpdk bond 类型接口,vpp设置此参数会导致rte_eal_init 返回失败。具体修改请查看:vpp git commithttps://github.com/FDio/vpp/commit/048acfbd9ee.

2020-12-29 11:00:55 1448 1

原创 pktgen+dpdk安装(20201222)

pktgen+dpdk官方指导文档:http://pktgen-dpdk.readthedocs.io/en/latest/getting_started.htmlpktgen源码:https://git.dpdk.org/apps/pktgen-dpdkdpdk源码:http://core.dpdk.org/download/文件:dpdk-19.08.2 pktgen-19.12.0安装:1、编译DPDK库cd /usr/src/dpdkexport RTE_SDK=/us..

2020-12-22 17:11:39 3096 3

原创 network namespace问题小结

场景描述:创建一个namespace test,并分配一个veth 口到这个namespace里,veth的另一个口在默认namespace里,直接执行ip netns delete test情况1:当这个ns中没有运行进程(此进程也没有使用这个ns里的veth口),删除后,ns删除,veth 两个口都会删除情况2:当这个ns中有进程使用ns的veth口,删除后,默认ns中的veth还在,ns删除,ns里面的veth口删除(丢失了)。通过man ip-netns信息可知ip [-a..

2020-10-26 14:43:08 556

原创 cobbler anaconda系统安装总结

问题1、ks文件错误导致安装终端解决:需要还原环境,待更新问题2、Software selection(Error checking software selection)解决:在错误提示上面会有上图信息,表示anaconda安装时,提供了另一个TTY2,日志放在/tmp下面,我们可以通过Alt+F2进入TTY2.然后查看tail -f /tmp/packaging...

2020-04-16 10:52:07 6774

原创 rabbitmq常用命令

rabbitmq开启webui界面管理https://blog.csdn.net/feinifi/article/details/82589463查看插件打开情况:rabbitmq-plugins list启动监控管理器:rabbitmq-pluginsenablerabbitmq_management关闭监控管理器:rabbitmq-plugins disable ra...

2019-07-18 22:20:36 24432

转载 服务器性能采集

《深度实践KVM》一、CPU性能采集sar -P ALL 2 10命令含义: 每隔2秒显示采集一次,一共采集10次CPU所有核的性能。其中,ALL可以用任意和核心ID来替换,以 获取这个核的性能信息。输出的最后有一个汇总的平均性能信息。·%user: 显示在用户级别应用运行使用CPU总时间的百分比。 · %nice: 显示在用户级别,用于nice操作,所占用CPU总时间的百分...

2019-07-16 18:33:42 1004

原创 execl(知道每个商品单价,且知道总价,计算每个商品的数量)

表如下:在求数量前将全部数量设置成1在C13里输入: =SUMPRODUCT(B2:B12,C2:C12) ,回车,就会显示商品数量是1的总价.如下图:将鼠标点到C13,点击 数据->规划求解,进行设置”设置目标"后面跟的是C13的位置($C$13)"目标值"设置你希望的总价,如果价格太复杂,总价设置的不合理,有时规划求解会失败,也就是找不到价格...

2019-07-11 14:00:53 14321

原创 openstack glance,cinder配置(lvm)使用本地磁盘

参考:https://docs.openstack.org/nova/stein/admin/file-backed-memory.html#top本地磁盘: /dev/sdb创建文件系统 mkfs.ext4 /dev/sdb 挂载 临时挂在:mount /dev/sdb /var/lib/novae 开机自动挂载: 配置/etc/nova/nova.conf [libvir...

2019-06-19 17:41:36 3470

原创 centos 7 上配置dnsmasq 同时支持ipv4和ipv6的DHCP服务

dnsmasq版本:dnsmasq 从2.6*版本开始支持DHCPv6功能参考:https://blog.csdn.net/qq_35550345/article/details/86628962dhcpv6原理:https://blog.csdn.net/qq_38265137/article/details/80466734一、不指定分配地址dnsmasq服务器配置dnsm...

2019-05-27 11:44:48 9098

原创 excel 查找一个表的数据在另一个表中是否存在

Sub test()Rem MsgBox ("AAAAA")Dim pos, pos1, tmp, total1, total2, tmpStr, tmpStr1, col, sheetRsheetR = 2Rem 获取Sheet1的行数total1 = Sheet1.UsedRange.Rows.CountRem 获取Sheet1的列数,后面把不满足的条目复制到She...

2019-05-24 17:23:00 12135

原创 openstack虚拟机创建流程

一、原理1、界面或命令行通过RESTful API向keystone获取认证信息。2、keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。3、界面或命令行通过RESTful API向nova-api发送一个boot instance的请求(携带auth-token)。4、nova-api接受请求后向keystone发送认证请求,查看token是...

2019-05-22 12:45:34 1830 1

原创 openstack网络总结

openstack 中比较核心的三个网络概念Network,Subnet,Port,必须搞清楚这三个的关系才能在使用时理清头绪。其他关于openstack网络相关参考https://mp.weixin.qq.com/s/QtdMkt9giEEnvFTQzO9u7g中neutron的讲解一、术语Network network 是一个隔离的二层广播域。Neutron 支持多种类型的...

2019-05-22 11:17:58 3893 1

原创 win10忘记密码修复(前提是指纹能打开系统)

以管理员身份运行命令提示符: 查看用户 >net user 红框部位就是用户名 修改密码 >net user 【用户名】 【新密码】这个只是解决指纹或是其他方式能登陆系统,却忘记密码的情况...

2019-05-21 20:45:32 9598 6

原创 DPDK使用hugepage原理总结

hugepage原理参考http://blog.chinaunix.net/uid-28541347-id-5783934.htmlDPDK版本:17.11.2hugepage的作用:1. 就是减少页的切换,页表项减少,产生缺页中断的次数也减少2. 降低TLB的miss次数1.DPDK使用前准备DPDK应用使用hugepage前,应保证系统已经配置hugepage (配置...

2019-05-09 16:53:50 14851

翻译 DPDK编程指南-4(服务核)

4. 服务核DPDK有一个称为服务核的概念,它可以动态地在DPDK逻辑核(lcore)上执行工作。服务核的支持内置于EAL中,并提供API可选择地允许应用程序控制服务核在运行时的使用方式。服务核概念是由服务(DPDK的组件,需要CPU周期来运行)和服务核(DPDK 逻辑核,负责运行服务)构建的。服务核概念的强大之处在于服务核和服务之间的映射可以配置为抽象化平台和环境之间的差异。例如,...

2019-05-06 16:56:32 500

转载 DPDK编程指南-3(环境抽象层)

作者:半天妖链接:https://www.jianshu.com/p/273e99f61e973. 环境抽象层环境抽象层(EAL)为底层资源如硬件和存储空间的访问提供接口。这些接口为上层应用程序和库隐藏了不同环境的特殊性。初始化程序负责决定如何分配这些资源(即内存空间、PCI设备、计时器、控制台等扥)。EAL提供的服务如下:DPDK的加载和启动:DPDK和特定的应用程序链接成一个...

2019-04-28 16:35:26 1746

转载 DPDK编程指南-2(概述)

作者:半天妖链接:https://www.jianshu.com/p/3a843bb243332.概述本章节给出了DPDK架构的一个全局概述。DPDK的主要目的就是为数据面快速报文处理应用程序提供一个简洁完整的框架。用户可以通过代码来理解其中使用的一些技术,构建自己的应用程序或添加自己的协议栈。可用的使用DPDK供选择的生态系统选项。通过创建环境抽象层(EAL),DPDK框架为每...

2019-04-28 14:43:57 434

转载 DPDK编程指南-1(简介)

作者:半天妖链接:https://www.jianshu.com/p/5c1e6f1eaa111.简介本文档提供软件架构信息,开发环境及优化方案。有关编程示例以及如何编译运行这些示例,请参阅《DPDK示例用户指南》。有关编译运行应用程序的基本信息,请参阅《DPDK入门指南》。1.1.文档路线图以下是一份建议顺序阅读的DPDK参考文档列表:发行公告:提供特定发行版本的信息...

2019-04-28 14:32:18 591

翻译 7. EAL parameters(dpdk参数介绍)

此文档介绍全部的EAL参数列表,linux上的任何DPDK应用程序都会用到这些参数。7.1. Common EAL parameters以下EAL参数在所有DPDK支持的平台上都是一样的。7.1.1. Lcore-related options(逻辑线程相关参数)-c<coremask> 16进制掩码设置应用程序使用哪些cpu核,eg:-c 3, 3代表的...

2019-04-26 14:18:33 11112 1

转载 网卡绑定中断的脚本(深度实践KVM)

# setting up irq affinity according to /proc/interrupts# 2008-11-25 Robert Olsson# 2009-02-19 updated by Jesse Brandeburg## > Dave Miller:# (To get consistent naming in /proc/interrups)# I w...

2019-04-22 14:40:29 476

转载 ipvsadm命令总结

ipvsadm工具介绍  从2.4版本开始,linux内核默认支持LVS。要使用LVS的能力,只需安装一个LVS的管理工具:ipvsadm。LVS的结构主要分为两部分:工作在内核空间的IPVS模块。LVS的能力实际上都是由IVPS模块实现。 工作在用户空间的ipvsadm管理工具。其作用是向用户提供一个命令接口,用于将配置的虚拟服务、真实服务等传给IPVS模块。以下选项用于list...

2019-03-29 16:28:03 11380

原创 openstack 虚拟机镜像制作

准备:服务器操作系统:centos 7服务器必备软件:qemu-kvm相关软件虚拟机系统iso:SLE-12-SP2-SAP-x86_64-GM-DVD1.iso(本文制作的suse,制作其它操作系统请下载官方iso)VNC下载地址:https://www.realvnc.com/en/connect/download/viewer/准备一台安装了VNC Viewer客户端的w...

2019-02-21 16:27:48 2421

原创 MIRANTIS openstack 老版本中设置自动进入fuelmenu

fuelmenu菜单MIRANTIS openstack 8.0以前的版本中,安装fuel master node 系统后会有15s时间让你敲击任意键进入fuelmenu,否则使用默认设置。为了让在安装fuel master node 系统后自动进入fuelmenu菜单,修改如下: 修改fuel安装ISO中ks.cfg###Run fuel menu[ -z "$show...

2018-08-29 17:10:54 489

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除