- 博客(69)
- 收藏
- 关注
原创 原创 VPP使用心得(十七)Makefile的编译优化选项
最近群里一位问“vpp编译过程不进行变量优化(O2),在哪个脚本下可以修改?”,有位群友回答直接make build即可。确实,make build提供了debug版本的编译。不过当时我正好有点时间,之前看的VPP的编译也都忘了,也想顺便回头研究一下,便以此为目的看了一下。根目录下的Makefile最终要调用其他地方的Makefile,比如build-root下的Makefile,以及build下external文件内的。简单搜了一下,发现并没有O3的定义。之后在src下CMakeLists.txt内发
2021-09-09 15:11:15 633
原创 我理解的算网一体
我理解的算网一体最近比较火的算网一体,听起来总感觉步子卖的太大,正好看到了一些论文和文章,两者结合,想到了一些,感觉算网一体应该首先是最下面的图。这里应该先走类似无损网络的Fabric...
2021-06-29 14:30:26 775
原创 FRR编译错误
版本是2021年5月9号的主线版本分支,本来一直用的都不错,但是从昨天起编译出错:oot@pml_v:/home/pml/frrouting/frr# makegit suffix: -g34723b2fa-dirtygit branches: local:master, github/FRRouting/frr.git/masterFiles lib/gitversion.h.tmp and lib/gitversion.h are identicalmake all-ammake[1]
2021-06-02 12:28:33 489
原创 VPP 2021.5.13版本编译问题记录
考虑到要使用linux-cp,下了最新的vpp,编译时发现ipsec-mb 1.0编译不过:--- building ipsec-mb 1.0 - log: /home/xingyp/vpp-new/build/external/deb/_build/ipsec-mb.build.logmake[6]: *** [obj/gcm192_sse_no_aesni.o] 已杀死make[6]: *** 正在删除文件“obj/gcm192_sse_no_aesni.o”make[6]: *** ...
2021-05-13 09:59:59 1216 3
原创 Windows访问Linux的宿主机上Linux VM的Samba服务
初始目的是想直接在服务器的VM上编写代码,调试代码。由于工作机是Windows,就想直接在VM上开Samba服务,然后Windows直接编辑。总结了一下过程:0、环境说明:工作机Windows10;Linux服务器Ubuntu18.04;VM:Ubuntu18.041、VM安装并开启Samba服务,网上一大堆,可以参考如下Ubuntu 18.04安装Samba服务器及配置.2、解决Windows访问VM的地址问题。Linux服务器的地址在172网段,而VM通常分配192.168网段。这需要一个NAT
2020-07-28 17:44:15 301
原创 使用Ligato配置vpp的SRv6功能
最近研究使用Ligato来管理配置VPP,顺便实验了SRv6的配置功能,发现当前的版本有些问题,记录一下,如有人遇到相同问题,可以参考。 使用redis做配置,KV的配置参考如下set /vnf-agent/vpp1/config/vpp/v2/vrf-table/id/0/protocol/IPV6 '{"id":0,"protocol":1}'set /vnf-agent/vpp1/config/vpp/srv6/v2/srv6-global '{"encap_source_add...
2020-07-22 16:08:05 1100
原创 网络技术思考随笔:由智能网卡联想NFV等
今天读了《从网络虚拟化,看智能网卡发展史》一文,链接为: https://www.sdnlab.com/24095.html。 其中某些观点引起了我的重新思考。 随着对网络技术的发展的关注,我最近一段时间的看法是这样的: 1、网络传输设备(如传统运营商的核心、汇聚路由器、交换机等)的性能需求将会是大头,那么在叠加业务的情况下,如何达到高性能呢?NFV明显是不合适的,FPGA太贵,基于多核的业务卡也已经不适用,最终还是要回归ASIC。考虑到功耗,考虑到性价比,ASIC应该还是主流。...
2020-05-13 10:27:34 437
原创 原创 VPP使用心得(十六)静态路由添加流程
通过ip route add可以添加静态路由。 添加一条静态路由 ip route add 10.10.10.0/24 via 10.10.1.3,其中,vpp中有一个host-vpp1out的接口,其接口IP为10.10.1.2/24. 命令触发后,会生成对应的fib_entry(具体的路由条目),fib_entry_source(路由产生的源信息)、fib_path...
2020-04-07 17:17:49 4121 1
原创 VPP使用心得(十五)AF_PACKET
基础知识参考:http://blog.chinaunix.net/uid-27656413-id-3563503.html 作为INPUT的node节点,其在接口注册这部分和DPDK是类似的。
2020-03-20 13:45:37 1844
原创 VPP使用心得(十四)FIFO
这里只研究了部分基于共享内存的fifo,大致了解了一下其结构。 fif_segment_main_t负责总管理,其下有多个fifo_segment_t (fs),每个fs对应一个共享内存文件,其虚地址通过mmap映射,为了方便管理,这些fs的虚地址va是连续的。 fs有一个ssvm_private_t ssvm,是用来管理共享内存申请以及va映射的,ssvm有一个ss...
2020-03-10 11:01:39 1486
原创 VPP使用心得(十一)工作线程间报文的互转
取消了IO线程后,通过handoff这个功能,可以实现IO的分配调度(当然有RSS的话,可以直接在网卡层面通过绑定线程来分配——初始化时指派线程就可以)。对应命令为set interface handoff。 对于IO线程的讨论:https://lists.fd.io/g/vpp-dev/topic/vpp_io_multi_thread_model/17451337?p=,,,...
2020-03-03 17:12:00 1901
原创 VPP使用心得(十)dpdk_device_input
INPUT类型node,在主循环的dispatch_node里调用,在处理时会假如pending_node,然后后续继续调用dispatch_pending_node继续后续node处理。
2020-03-03 17:06:10 2040
原创 深入浅出DPDK阅读笔记
深入浅出DPDK第一章 概述第二章 Cache和内存Cache预取DPDK会在代码层面对数据报文做预取Cache一致性要解决以下两个问题:1、Cache对齐2、多核访问的冲突解决方法:1、数据定义边界对齐2、每个核单独享有自己的数据结构3、对于必然同时访问的临界区,对于网络端口而讲,网卡有多队列,每个核用自己的队列。其他的临界区——应该不可避免要...
2019-11-27 09:14:11 2953
原创 Segment Routing详解第二卷 读书笔记
第二章 SR PolicySR Policy的三元组<头结点、颜色、尾结点>2.3 BSID2.4 SR Policy的配置SR Policy的显式候选路径头节点1的配置如下偏好值越高,路径优先级越高,比如100的POLICY2的优先级更高 。头节点可以有多个Policy,也可以1个Policy里有多个候选路径:低延迟的动态候选路径...
2019-11-26 10:38:41 4296
原创 除草01
这两天一直为版本的事情烦躁。一个开发加测试不足百人的团队,维护近十个版本。一个预期2018年上半年就该出的版本,预计还要再开发两年才能出来。一个已经封了两年的版本又决定开始重新作为主线分支——这都是些什么事! 总监基本不管,其他人又各有屁股决定,难!...
2019-04-09 09:18:38 304
原创 路由管理的下一跳分离的设计方案
路由管理的下一跳分离的设计方案1 下一跳的分类2 原有路由组织架构3 分离后的数据结构4 下发转发面的数据5 一种简单的迭代方法6 更加有效迭代方法7 一个例子1 下一跳的分类你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。&nbsp;&nbsp;&nbsp;&nbs...
2019-01-03 14:12:13 1391 2
原创 VPP使用心得(一)初步安装
近期想学习一下VPP中的路由管理,因此尝试安装学习。在安装过程中,发现了若干问题,最终如下方案能成功安装VPP。1、安装ubuntu的虚机,我是在centos的服务器上安装的 a)创建镜像:qemu-img create -f qcow2 ubuntu-18.04-vpp.qcow2 50G b)官网下载镜像:ubuntu-18.04.1-desktop-amd64.i...
2018-11-05 14:07:53 6098 2
转载 一种使用内存做硬盘的方法,提升读写速度
今天在网上浏览到如下文章:https://blog.csdn.net/dog250/article/details/41418783大意是用内存做硬盘,提高读写速度。摘记之:MacOS:使用hdid命令就可以:hdid+fstyp_hfs(类似Linux的mkfs.ext4之类的)+mountWin:装了个SuperSpeed的RamDisk Plus划了块4G内存做R:盘在用,将...
2018-08-07 10:03:37 9887
原创 XFS(dm-0):Version 5 superblock detected.
今天版本机加载XFS失败,报如下错误:XFS(dm-0):Version 5 superblock detected.This kernel has EXPERIMENTAL support en Use of these features in this kernel is at your own risk!...mount: mount /deve/mapper/cl-root o...
2018-08-06 16:59:27 1565 1
原创 CISCO XRV-9K KVM虚机启动问题
最近实验需要用到CISCO的XRV-9K的虚机。由于需要多台组网,因此复制了多个。发现第二个会报如下错误:/opt/cisco/hostos/bin/xr_con_telnet_wrapper.sh): XR console connection lost ... telnet 9001...通过对配置文件多次修改,并经过多次其他尝试总结出经验如下:1、对于原始的镜像,其大小大概为2G。分配内存到...
2018-06-30 10:41:16 2334
原创 OSPF SPF计算的避让算法
OSPF在计算SPF时,为了防止震荡以及连续收到LSA时多次计算SPF,某些代码里实现了避让算法。代码如下:#define OSPF_SPF_INCREMENT_VALUE 2#define ONE_SEC_MICROSECOND 1000000void ospf_spf_calculate_timer_add (struct ospf_area *area){ struc...
2018-06-01 09:42:36 1354
原创 路由管理性能优化之路
去年的时候,测试1W条路由的收敛性能,大概需要5s以上,这个成绩比较差,当时分析了一下,认为是路由管理模块不支持路由更新的操作导致的,这样会浪费1倍的消息处理。今年这个问题又重新提起,由于这次有着比较明确的优化目标,因此不再像去年那样纯粹的看代码猜测。 首先,使用perf + 火焰图查看了本进程的热点函数,关掉了一些浪费性能的日志,优化了一些热点,并提供了路由更新的 发...
2018-05-16 14:43:20 710
原创 编译VPP报错
这两天想研究下VPP,下了代码,按照网上的步骤进行编译:make install-dep; make bootstrap; makebuild; 发现如下错误:vpp/build-data/../src/vpp/api/api_format.c:1:1: error: expected identifier or ‘(’ before ‘.’ token ../../vat/api_fo
2017-11-14 19:11:18 1774 2
原创 Linux编译出的进程内没有新编写的函数
今日一位同事在代码里新增了一个.c文件,加了几个调试函数,运行后发现无法使用。通过objdump反汇编看到汇编代码里确实没有该c文件中的调试函数。一开始以为编译有问题,经排查,发现.o确实生成,并且和其他.o生成的.a中也能反汇编出这些函数,在编译输出中也能看到链接.a的信息。 后来发现,应该是没有调用过此.c中的函数,导致链接优化掉了这些函数。经网上搜索,有如下可用信息: 不把未调用的函数l
2017-07-26 10:09:05 425
原创 马自达CX-5,中控台的点烟器没电
中控台的点烟器用来给行车记录仪供电,突然没电,但是储物盒中的有电。拆开驾驶座左侧的保险丝盒,发现9号15A的保险丝烧坏了。打开汽车引擎盖,找到主电器的保险盒,内部有拆保险丝的镊子和备用保险丝,换好后,中控的点烟器就好了。由此可见,中控的点烟器和储物盒的点烟器不是一个保险丝。差点被网上其他文章误导。
2017-06-24 16:28:40 3565
原创 Linux环境定位C程序内存泄露以及非法访问的方法
网上有很多例子,这里主要依照工作中的使用来记录一下心得。通过搜索可以搜到mcheck、mtrace、valgrind等等各种方法。这里记录一下:mcheck 具体可以搜《Linux系统下借助mcheck实现c/c++程序的堆内存异常检查》这篇文章,比较详细。我比较喜欢用其中的b、c两种:b. 在makefile中使用-lmcheck来链接程序。优点:无需在源码中显式调用mcheck,且一定可以
2017-06-01 10:21:43 2361
原创 一些MPLS的简略语
-------------------------------------------------------------------- ----------------------------------------------------------------------------------------------- Forwarding Equivalence ClassA F
2017-03-27 14:46:06 452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人