- 博客(122)
- 收藏
- 关注
原创 dpdk crash调试方法
本文总结了DPDK程序内存被改写导致崩溃的排查方法。首先指出GCC的栈保护机制(-fstack-protector)仅能检测栈溢出,而DPDK常见问题是堆/共享内存越界(如mbuf操作越界、ring buffer越界等)。然后介绍了两种GDB调试技巧:使用watch命令监控变量修改,以及定时采集变量信息的脚本方法。这些方法有助于快速定位内存被非法改写的问题,为DPDK程序调试提供参考。
2025-12-27 11:37:32
228
原创 dpdk-testpmd在超过128核双numa场景启动失败问题
摘要 在超过128核双NUMA场景中,DPDK-testpmd启动失败,问题表现为无法使用NUMA1的内存。根本原因是DPDK默认配置限制了最大逻辑核心数为128(RTE_MAX_LCORE=128),导致系统只能探测到NUMA0节点。通过分析启动日志和源代码,发现该限制由x86架构的meson.build文件定义。解决方案是在编译时增加-Dmax_lcores=256参数,扩大支持的核心数范围。该问题反映了DPDK与硬件配置的紧密耦合性,但通过编译参数调整即可适配不同规模的硬件环境。
2025-12-25 16:27:56
304
原创 Linux系统丢包问题
摘要: Linux服务器VNC连接失败问题排查发现,5.10内核环境下除SSH外所有端口均无法访问。经分析,新版内核引入的firewalld工具默认仅放行SSH服务,导致其他端口被拦截。通过配置firewalld放行VNC端口(5910)解决问题。对比4.19内核无此现象,说明高版本系统防火墙管理机制变化。典型Linux丢包原因优先级:防火墙规则 > 多网卡rp_filter > 其他内核问题。附VNC协议简介及常见启动错误解决方法。 (字数:149)
2025-12-24 12:38:45
415
原创 Linux多网卡场景中ping不通问题
摘要:本文分析了一个Linux多网卡环境下的ping不通问题。测试显示reply报文已返回但被丢弃,排查发现是内核反向路径过滤(RPF)机制导致。RPF严格模式下,内核会校验入接口是否为最佳返回路径,否则丢弃报文。解决方法包括关闭RPF校验或调整路由。这反映了Linux协议栈对IP层路由的严格校验机制在多网卡场景下的影响。
2025-12-08 14:50:51
341
原创 python 使用openssl时,遇到ValueError: unsupported hash type sha1异常等问题
摘要:在Python 2.7环境中使用OpenSSL 1.1.1+版本时,出现"unsupported hash type"错误,原因是Python 2.7的_hashlib模块直接调用已被废弃的OpenSSL旧API。解决方法包括安装兼容包:yum install compat-openssl10和yum install ncurses-compat-libs,使系统支持OpenSSL 1.0接口。该问题凸显了Python 2.7已停止支持的技术债务风险。
2025-12-08 12:00:15
272
原创 python脚本中ssh免密未生效问题
摘要:在测试系统中发现SSH免密登录异常,经排查是由于Paramiko库无法识别OpenSSH新格式的RSA私钥。问题表现为执行Python脚本时报"not a valid RSA private key file"错误。解决方案有两种:升级Paramiko版本或使用ssh-keygen命令将私钥转换为传统PEM格式(ssh-keygen -p -m PEM -f ~/.ssh/id_rsa)。该问题与系统版本差异(CentOS7和8)相关,关键在于私钥格式的兼容性处理。
2025-12-03 01:02:19
441
原创 v3.03 trex接管Mellanox网卡报错Verbs device not found问题
摘要: 在运行TRex v3.03时出现DPDK无法绑定Mellanox网卡的问题,错误提示"Verbs device not found",原因是缺少InfiniBand/RDMA驱动支持。Mellanox网卡在DPDK中有两种驱动模式:Verbs模式(推荐)需要ib_uverbs内核模块,UIO模式功能受限。解决方法是通过加载必要的RDMA内核模块(ib_uverbs、mlx5_ib、rdma_cm)来启用完整的网卡功能支持。
2025-11-13 14:31:12
168
原创 dpdk如何与内核进行交互——vdev的用法
本文主要介绍DPDK中vdev参数的使用方法,重点讲解如何通过虚拟设备实现用户态程序与内核的网络交互。文章以dpdk-l2fwd为例,展示了如何利用--vdev=net_tap参数将网卡报文转发到TAP设备,实现内核交互。此外,还列举了多种常见虚拟设备类型及其用途,包括与虚拟机通信的net_virtio、与Linux网络栈交互的net_tap、用于抓包的net_pcap等。这些虚拟设备扩展了DPDK的应用场景,使其不仅支持物理网卡,还能实现与虚拟机、宿主机网络、加密硬件等的交互。
2025-10-20 14:04:06
402
原创 网卡主动发包问题分析
本文分析了网卡主动发包问题,通过抓包发现网卡主动发送的报文端口为5353端口,在Linux服务器中,5353端口被mDNS服务占用。通过lsof/netstat命令可查看到avahi-daemon进程监听该端口。提供了临时停止和永久禁用avahi服务的systemctl命令。最终验证表明该方法有效阻止了非测试报文发送,解决了网卡测试中出现的干扰问题。
2025-10-16 15:42:13
234
原创 遇到问题不能将就:解决dhcp ip变化问题
摘要: 公司测试环境跳板机因DHCP动态分配IP,每次机房断电后需人工查看新IP并通知同事,造成不便。为解决此问题,先编写脚本扫描网段自动识别可用IP,之后通过申请DHCP保留地址,为跳板机固定IP,彻底解决问题。问题解决得悄无声息,同事无感知。该方案既提升了效率,也避免了重复性人工操作。
2025-10-13 10:43:55
376
1
原创 腾讯云网络vpc之arping返回MAC一样问题
腾讯云VPC网络采用ARP代理机制,子网内ARP请求会被统一劫持并返回相同MAC地址(如FE:EE:FF:AD:71:C8)。其通信流程为:VM通过ARP代理、桥接、主机和虚拟交换机后,经GRE封装在VPC网络传输。该机制利用ARP协议的"问-答"特性,由路由器伪装目标主机响应请求,实现跨物理网络的通信透明化。对比其他云厂商,腾讯云和阿里云采用统一MAC返回方式,而华为云和AWS则保留传统以太网特性。这种设计通过虚拟交换机实现报文转发时的MAC地址替换,使通信双方VM无感知。
2025-10-09 15:01:03
981
原创 谈谈想法-读《一个中科大差生的8年程序员工作总结》
《职场成长启示录:一个工程师的十年蜕变》摘要: 一位工程师回顾2013-2016年职场快速成长经历,总结出五条核心经验:1)突破原生家庭思维局限,善用资源但要独立决策;2)主动承担挑战性工作,在解决问题中脱颖而出;3)建立复盘机制,确保方向正确比速度更重要;4)通过技术分享提升专业影响力;5)完成从学生思维到职场思维的转变。文章特别强调,职场晋升需要能力、机遇与思维升级的三重作用,同时指出当代年轻人面临的住房压力与阶层跃升困境。作者以亲身经历说明,职业发展既要把握机遇,更要建立系统化的成长方法论。
2025-09-22 12:15:01
315
原创 问题1:虚拟私有云(VPC)的核心设计原则是什么?
本文讨论了vpc和其核心设计原则,设计原则通常包括隔离性、高可用性、安全性、分层设计、灵活性可扩展性和成本等。
2025-09-18 14:05:02
372
原创 Linux操作系统如何不进入图形化界面
Linux系统禁用图形界面启动的方法 对于使用Systemd的现代Linux系统,可以通过修改默认目标来实现禁用图形界面启动。使用systemctl get-default查看当前目标,set-default multi-user.target设置为命令行模式,或graphical.target恢复图形界面。这种方法简单有效,适合需要纯命令行环境的用户。
2025-08-09 17:35:21
417
原创 当服务器多了时,如何管理?
本文介绍了一个简单实用的服务器管理脚本,可帮助用户快速连接和管理多台服务器。脚本通过菜单方式显示服务器列表(包括IP和名称),用户只需输入对应数字即可通过SSH连接目标服务器。该脚本支持自定义连接参数(如TCPKeepAlive),解决了服务器太多难以记忆的问题,提高了运维效率。特别适合需要管理多台服务器的系统管理员使用。
2025-08-08 15:59:24
259
原创 tcpdump问题记录
本文分析了使用scapy发送VLAN报文和tcpdump抓包时遇到的问题。发送方向(tx)只能通过ether proto 0x8100过滤抓到VLAN报文,而接收方向(rx)则可以通过vlan或ether proto 0x0800过滤抓到包,但不能用ether proto 0x8100过滤。这表明在发送时VLAN标签被正确处理,但在接收时以太协议类型被修改为0x0800。文章总结出一个抓包条件对比表,展示了不同方向的过滤效果差异,并提出了需要进一步分析这种异常现象的原因。
2025-08-07 21:05:03
430
原创 当lscpu显示为中文时,如何切换到英文,或者反切?
摘要: 系统语言环境导致lscpu命令输出中文,影响监控脚本过滤。解决方法是将/etc/locale.conf中的语言改为LANG="en_US.UTF-8",或临时执行export LANG="en_US.UTF-8"使命令输出恢复英文格式,确保脚本正常运行。
2025-07-19 03:38:13
256
原创 远程登录docker执行shell报错input is not a terminal问题
摘要 通过SSH远程执行Docker容器命令时出现"input is not a terminal"错误,原因是使用了交互式终端参数-it。分析表明-i保持标准输入打开,-t分配伪终端,但SSH环境不支持交互模式。解决方案是去掉-it参数,改为非交互式命令执行方式。修改后的命令成功执行了容器内的lscpu命令。
2025-07-11 21:13:07
420
原创 python2.7/lib-dynload/_ssl.so: undefined symbol: sk_pop_free
Python SSL模块加载失败问题分析与解决 问题描述:运行Python脚本时出现"_ssl.so: undefined symbol: sk_pop_free"错误,表明_ssl模块无法找到OpenSSL库中的sk_pop_free符号。 原因分析:该问题通常由OpenSSL版本不匹配导致,特别是Python编译时使用的OpenSSL版本与运行时加载的版本不一致。sk_pop_free函数在OpenSSL 1.1.0及以上版本中已被弃用。 解决方案: 检查系统OpenSSL版本:op
2025-07-08 14:37:43
604
原创 一行配置引起的Linux默认路由未生效问题
摘要 Linux系统安装后出现默认路由缺失问题,检查发现网卡配置文件ifcfg-xxx中存在DEFROUTE="no"参数导致。常规解决方案(添加GATEWAY参数)在该情况下无效,需重点关注DEFROUTE参数设置。该参数控制是否将此网卡配置作为默认路由源,设置"no"会阻止系统建立默认路由。
2025-07-07 18:21:46
625
原创 dpdk-testpmd 统计显示
摘要:Tx-packets统计异常问题分析 在测试中发现testpmd的show port stats命令显示的Tx-packets值异常大,经代码分析确认该统计来自硬件。代码追踪显示,rte_eth_stats_get最终调用的是设备驱动(dev->dev_ops->stats_get)提供的硬件统计接口,因此该问题可能是硬件统计异常导致的,而非纯软件问题。
2025-07-05 03:35:14
657
原创 Linux 磁盘
本文简要分析Linux磁盘管理命令的使用差异。通过df -h查看的是已挂载文件系统的磁盘空间使用情况,显示的是逻辑分区容量。而fdisk -l和lsblk则能展示物理磁盘与分区的对应关系,如示例中vda物理盘被划分为3个逻辑分区(vda1、vda2、vda3),其中vda3作为根分区挂载使用。这些命令各司其职,df侧重空间使用统计,fdisk和lsblk侧重物理磁盘与分区结构展示,共同构成了完整的磁盘管理工具链。
2025-07-05 03:13:43
250
原创 Linux设置max_vfs失败问题分析
设置max_vfs失败,报错"Function not implemented"。通过分析igb_uio源码发现,问题源于pci_enable_sriov函数返回ENOSYS(-38)。深入排查发现是VF的Function Dependency Link(iov->link)与设备功能号(dev->devfn)不匹配,且物理功能(pdev->is_physfn)未启用导致。该问题涉及内核与硬件配置的交互,需要通过修改igb_uio模块增加调试信息才
2025-06-30 12:01:35
427
原创 5.10内核copy_to_user失败问题
摘要 一个内核模块在4.19内核中通过/proc文件交互正常,但在5.10内核中失败。strace显示读取proc文件时进入死循环,内容全为零。调试发现copy_to_user调用access_ok检查失败。问题表现为内核版本升级导致的内存访问验证机制变化,具体原因和解决方案尚不明确。
2025-06-17 16:05:29
313
原创 我有一个想法
我希望能够在家乡高中设立"鸿鹄"奖学金,通过每年9月的数学竞赛选拔6名学生和2名教师,组织他们前往北京、上海等地名校参观学习,游览文化景点,并安排学术讲座。旨在开阔学弟妹们的视野。奖学金主要用于报销团队考察费用。我希望这个项目能帮助学生更好地理解读书的意义,哪怕只能改变一个人也值得。同时也期待更多人参与支持这个计划。
2025-06-16 23:18:32
1133
10
原创 一些学习网站分享
黄大年茶思屋是由华为打造的非盈利网络科技平台(官网),提供免费全球科技资讯查阅服务。该平台旨在促进科技信息共享,帮助公众了解前沿科技动态。
2025-06-11 15:24:55
292
原创 dpdk-testpmd 测试常用功能记录
摘要:通过testpmd发送单条测试报文需要设置burst参数为1(默认值为32或64),然后执行start tx_first命令。具体操作为:在testpmd命令行输入"set burst 1"设置参数,确认后执行"start tx_first"即可发送指定数量的数据包。
2025-06-11 14:08:20
412
原创 牛奶、羊奶都能喝,为什么没人喝猪奶?
《为何无人喝猪奶?一个小疑问引发的思考》摘要:人们日常饮用牛奶、羊奶却几乎不见猪奶,这个看似平常的现象背后藏着有趣的科学原因。经查阅资料发现,猪奶产量低、营养价值高但不易保存,且母猪哺乳期短、挤奶困难,导致商业化成本过高。成年人容易对常见现象习以为常的思维惯性,并指出虽然目前猪奶难以普及,但随着技术进步,未来或有可能成为新兴乳品。这个生活小疑问展现了保持好奇心的重要性。
2025-06-10 20:14:25
340
原创 第一次组装台式机:显示器无信号问题
摘要 新组装的台式机开机后显示器无信号,10秒后黑屏。经排查发现将显示器视频线误接在主板的集成显卡接口上,而非独立显卡接口,导致信号无法输出。正确操作应将显示器连接至独立显卡的视频输出端口。这一常见问题源于对独立显卡与集成显卡输出方式的混淆。
2025-06-10 01:50:26
826
原创 nginx 服务启动失败问题记录
Nginx启动报错显示IPv6监听失败,原因可能是系统未启用IPv6支持。解决方法有两种:一是修改Nginx配置文件,将listen [::]:80注释或改为listen 80仅监听IPv4;二是启用系统IPv6支持,通过lsmod | grep ipv6检查并modprobe ipv6加载模块。根据实际需求选择禁用IPv6监听或启用系统IPv6支持即可解决问题。
2025-06-05 14:58:23
443
原创 阿里云云网络论文:Nezha,计算网络解耦下的vSwitch池化架构
Nezha论文提出了一种创新的计算网络解耦架构,通过将vSwitch资源池化来突破单SmartNIC的性能限制。该方案将虚拟网卡处理负载拆分为无状态前端(卸载到远端资源池)和有状态后端(本地处理),利用集群所有SmartNIC资源实现性能弹性扩展。实际部署显示其连接新建能力提升3-4.4倍,并发流支持能力提升5-50倍,vNIC密度提升超40倍,显著降低了vSwitch过载率。这项技术为云数据中心提供了高性能、低成本的网络解耦方案,无需额外硬件投入即实现资源利用率优化。
2025-05-27 11:24:37
1356
原创 腾讯FORNAX:基于智能网卡的大规模VPC会话加速方案
腾讯云在论文《FORNAX:基于智能网卡的大规模VPC会话加速方案》中提出了一种创新的云网络加速解决方案,利用自研的银杉智能网卡实现超大规模公有云网络的高效加速。传统方法依赖软件管理硬件流表,面临流量激增时的处理延迟和资源占用问题。FORNAX方案通过硬件原生流表管理架构,将单向流表管理升级为双向会话管理,聚合会话元数据,使硬件能自主感知流量生命周期和策略变化,减少软件资源开销,提升网络性能。该方案有效解决了传统方法的瓶颈,为大规模云网络加速提供了新的技术路径。
2025-05-20 15:36:43
584
原创 为什么 mac os .bashrc 没有自动加载?
自macOS Catalina起,默认终端shell由Bash改为Zsh,导致.bashrc文件不再自动生效。用户可通过运行echo $SHELL命令确认当前使用的shell类型。若结果显示为Zsh,则需要编辑或创建.zshrc文件来进行相关配置,而非.bashrc文件。这一改变对于习惯使用Bash的用户需特别注意,以确保终端环境配置的正确性。
2025-05-12 12:00:59
602
原创 关于短视频的一点想法
我觉得AI + 历史短视频,将历史转为小短视频的形式,或许有一些前景。比如上下五千年,又比如成语故事之类。学习不再是固定的文字,而是动起来的动画,给人更好的理解。再比如把课本上的课文,转为为短视频等。
2025-04-06 09:35:17
136
原创 成长路上的记录
以前,我很害怕问题,现在觉得没有问题,那是不可能的,有疑问才是常态化状态,弄懂疑问的过程,就是成长。(专利点的来源就是问题) – 2024年某天。
2025-04-02 10:30:18
437
原创 什么是DPU?
英伟达首席执行官黄仁勋曾在演讲中表示:“ DPU将成为未来计算的三大支柱之一,未来的数据中心标配是‘CPU + DPU + GPU’。CPU 用于通用计算,GPU 用于加速计算,DPU 则进行数据处理。” 这应该是DPU第一次被提及。主要是服务于云计算,作用是提升数据中心等算力基础设施的效率,减少能耗浪费,进而降低成本。
2025-03-20 01:21:05
2277
原创 初级网工之路: Lan over USB(通过USB上网)
最近搭建测试环境的时候,遇到一个网卡驱动不匹配的问题,导致服务器不能够连接物理网络。驱动版本的更新最好能够通过yum源更新,这就形成了一个死循环。如何破解这个环呢,于是想到了Lan over USB。Lan over USB也叫USB over Ethernet,也即使用USB口作为网卡接口,通过连接到交换机实现网络通信。其原理主要依赖于USB以太网适配器(有时也称为USB转RJ45适配器)。这种设备允许计算机通过USB端口连接到有线网络,即使该计算机没有内置的以太网端口。
2025-03-12 11:04:01
1526
原创 初级网工之路: 如何通过服务器进行交换机的配置
最近搭建测试环境的时候,遇到一个网络不通的问题,需要检查交换机的配置信息。测试服务器和相关交换机都在机房,进过机房的同学都知道,里面是真的非常难受,各种噪音,而且还冷。有没有可以远程配置交换机的方法呢?配置交换机常用的方式通常有2种,一种是: 通过Console口直接连接,也即使用控制台电缆将电脑与交换机的Console端口相连,其中控制台电缆通常是USB到RJ45。另一种是:Telnet/SSH远程登录,对于配置了ip的交换机可以这样操作。
2025-03-11 21:25:32
429
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅