- 博客(32)
- 问答 (1)
- 收藏
- 关注
原创 借助libbpf/libxdp使用AF_XDP,我们都需要做什么——以一个简单程序为例
AF_XDP是一种Linux提供的针对高性能数据包处理进行优化的地址族协议,为了进一步的理解和熟悉,我们以一个返回IPv4 ICMP Ping报文的程序为例,看看借助libbpf/libxdp使用AF_XDP,我们都需要做什么
2022-12-05 23:47:03 3769 5
原创 如何远程连接到同一局域网下路由器下挂的主机
之前在宿舍远程到实验室的电脑一直挺顺,因为宿舍的笔记本和实验室的主机直接连接的校园网;现在把实验室主机接到OpenWrt路由器下边,拓扑图如下,主机IP变成了路由器LAN口下局域网IP,笔记本就不能直接访问了;要解决的问题:笔记本如何直接远程到实验室主机?比较简单的就是通过端口映射了,在路由器luci网页上找这个功能找了半天,在此记录一下。
2022-10-07 17:30:00 1868
原创 【笔记】什么是内核/用户空间 从CPU如何运行程序讲起
本文从计算机是如何运行程序开始说起,说明什么是内核空间(kernel space)和用户空间(user space),以及两者区别;
2022-07-22 13:27:39 885
原创 如何为当前用户永久修改PATH环境变量?bash默认的启动脚本到底是哪个文件?什么是login shell?
ubuntu配置在系统脚本~/.bash_profile里的环境变量为什么重开terminal后又不生效了?如何为当前用户永久修改PATH环境变量?bash默认的启动脚本到底是哪个文件?`~/.bashrc`、`~/.bash_profile`、`~/.profile`还是`~/.bash_login`?* 什么是`login shell`?什么又是`非login shell`?
2022-05-13 22:44:57 532
原创 在class中初始化vector成员发生的most vexing parse问题
在class中带容量初始化vector时,发生报错。本文讲了为什么报错以及如何避免这类问题。
2022-05-07 15:24:14 711
原创 我C++的getline输入为什么出现了问题?——两个样例
一直没把输入输出当回事,毕竟笔试题什么的都是固定好的输入格式,直到有一次想玩点花的,用getline+分隔符读取输入出现了BUG,才正视我根本不懂C++的输入……
2022-04-14 22:23:48 5277 3
原创 动态规划(dp)的总结
动态规划只要找到子问题,写起来就很简单,通常最多就二维dp数组即可解决问题,顶多再来个双dp,再加点逆向思维……下面列出我见过的子问题,别栽在dp上了,求求了。
2022-04-05 23:53:17 3505
原创 什么是SR-IOV?先用起来再说
如果再有人问我什么是SR-IOV,我可以把我搭建好的SR-IOV环境展示给他:nuo,这就是SR-IOV。
2022-03-29 10:43:24 14744 1
原创 [详细思路]如何用C++通过位运算实现int整数的加减乘除运算
如何只通过位运算实现int整数的加减乘除运算,不使用+-*/%等直接的运算符和库。从加法开始,详细讲解。
2022-03-05 23:42:53 2953 1
原创 简述时间复杂度和空间复杂度
时间复杂度和空间复杂度前言刷剑指offer、leetcode常会看到时间复杂度和空间复杂度的要求,初识总是陌生的。本文将从一些例子讲起,让读者简单了解时间/空间复杂度的概念。首先介绍概念我们说的复杂度,是针对某个算法而言的,维基百科也有讲,是"算法的时间复杂度":在计算机科学中,算法的时间复杂度(Time complexity)是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂
2022-01-17 22:21:43 746
原创 NSDI‘16 FlowRadar: A Better NetFlow for Data Centers-阅读笔记
NSDI'16 FlowRadar: A Better NetFlow for Data Centers的阅读笔记
2021-12-14 21:09:41 1144
原创 netflow generator: 开源工具nfgen的源码研读和修改(上)
nfgen的修改工欲善其事,必先利其器。最近在做nfdump-nfcapd的测试,需要以网卡线速度(10Gbit/s)发netflow的UDP数据包,需要支持netflow v5、v9,最好能自己设置速率。然而网上Linux环境的netflow生成器不是花里胡哨达不到线速度,就是只支持netflow v9,导致测试的时候很是憋屈。这天看着开源工具nfgen的代码陷入沉思:这不就是在发固定的报文吗?我自己修改一下不就好了。nfgen代码分析程序以C++实现,代码其实也就几百行,不如在分析的同时也精进
2021-11-29 00:37:30 2164
原创 Win10下如何在右键新建菜单使用Typora新建.md文件
打开文件夹,每次想在当前位置新建md文件的时候,要么打开Typora,保存到当前位置,要么从旁边复制一个md文件,再删掉重开,很是麻烦。怎么像新建word、excel一样直接右键新建md文件呢? 试了网上一些解决方案,要么没成功,要么还得重启。话不多说,总结出这个简单的方法,改注册表,无需重启,希望能帮到有同样需求的你。附一张结果展示:win+R打开运行窗口输入regedit,确定后进入注册表编辑器,定位到计算机\HKEY_CLASSES_ROOT\.md(拉到顶选中HKEY_CLASSES_RO
2021-09-22 20:37:31 1302
原创 一文解决C语言运算符的优先性与结合性——Think like a computer
文章目录前言故事的开端什么是运算符的优先级和结合方向优先级结合方向前言写这篇就为了再遇到稍微复杂一点的表达式不至于绕晕;优先级和结合方向不再赘述,随便一搜就都有了,在优先级和结合方向上我借鉴的是这篇;注意,虽然有优先级和结合方向一说,但是程序不止是给机器编译的,也是给人看的,做个人,该括括号的时候,尽量提高可读性吧!故事的开端 for (i = 0; i < XSK_RING_PROD__DEFAULT_NUM_DESCS; i ++) *xsk_ring_prod__fill_addr
2021-09-12 22:37:05 379
原创 初学XDP/eBPF常用的一些结构体和函数、概念
文章目录前言结构体(libbpf中的)xdp_mdstruct bpf_mapstruct bpf_object函数(libbpc中的)bpf_object__find_map_by_namebpf_map__***bpf_map__namebpf_map__fd相关的其他函数/结构体setrlimit/getlimit关于这个资源限制再多说两句前言作为自己学XDP、eBPF的一个记录和参考,同时包括对一些概念的理解,后续会陆续补充;结构体(libbpf中的)疑问:为什么linux源码里面有些结
2021-09-12 14:34:50 1542
翻译 AF_XDP
目录前言AF_XDP概述前言本文翻译自https://www.kernel.org/doc/html/latest/networking/af_xdp.html,刚开始学AF_XDP,翻译或有纰漏,还请指出。文中使用(斜体文字)标出了本人翻译中的疑问,后续围绕本文继续完善概念。AF_XDP概述AF_XDP是优化的地址族,用于高性能包处理。本文假定读者熟知BPF和XDP,如果对它们不熟悉,Cilium项目对其有一份优秀的指南cilium.readthedocs.io/en/latest/bpf/
2021-09-11 21:14:51 2028
原创 Netronome智能网卡——XDP卸载
目录前言简介XDP卸载优势应用软硬件准备网卡驱动和设置更新固件卸载示例卸载方式前言本文对XDP卸载到智能网卡做一个记录,XDP和eBPF的概念参考Cilium的BPF和XDP指南简介我手头的两块智能网卡型号为Agilio CX 2x25GbE,具有两个25G速率的端口,需要安装对应的光模块,SFP+的光模块能达到10G速率,SFP28的光模块能达到25G速率;网卡支持DPDK、P4可编程、OVS卸载、XDP卸载等功能,适用于云IaaS/PaaS、NFV、数据中心微分段、网络遥测、零信任安全等多种场
2021-09-02 10:04:29 2172 1
原创 nfdump的性能分析
这里写自定义目录标题netflow简介欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入netflow简介netflow是思科在1996年开发的用于监测ip网络流状态的技术,由以下三个部分组成
2021-09-01 22:17:16 4390 2
空空如也
C++内存对齐的疑惑
2022-07-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人