DPU&RDMA
文章平均质量分 69
DPU&RDMA
北冥有鱼被烹
这个作者很懒,什么都没留下…
展开
-
微知-如何通过/etc的配置脚本持久修改网卡名字和信息等?(/etc/sysconfig/network-scripts/ifcfg-eno1;service network restart)
还可以再这个文件中添加执行的脚本程序。里面支持shell命令执行。通过配置文件修改eth口的信息能够持久存储。修改之后重启网络服务。原创 2024-08-30 23:57:38 · 171 阅读 · 0 评论 -
微知-如何参看linux网口中收包循环缓冲队列的深度?ethtool -g eth0
这里的深度的意思是eth口的循环缓冲队列的队列深度 或者说环的大小。每个队列里面的单元表示一个包。每个包的大小是由mtu和头部组合的大小。一般mellanox网卡的最大支持是8192。原创 2024-08-29 21:25:47 · 373 阅读 · 0 评论 -
微知-如何查看linux网口的收包队列/channel个数?ethtool -l eth0
channel是eth收包的循环缓冲队列的个数 表示有多少个循环缓冲队列。每个队列里面存储N个包,N就是它的深度。网卡收到包后dma到该ringbuf,然后内核的ksoftd去取这个包。比如mellanox网卡是63个channel。原创 2024-08-29 21:07:49 · 440 阅读 · 0 评论 -
微知-PCIe配置空间中哪个字段表示设备类型?有哪三种类型?哪个字段表示厂商ID
其中64B是header叫做预定义头部,存储设备基本信息和通用控制部分,比如说pcie的venderid就存在byte0和byte1。这个vendor id是PCI SIG组织统一管理的。如mellanox网卡vendor id是15b3。pcie配置空间早期是246字节。由头部和设备相关部分两个region组成。其中头部64B,设备相关192B。设备相关region是剩余192bit包括各种capability。pcie配置空间中0Eh地址存储的是类型。可以通过下面的命令扫描固定vendor。原创 2024-08-24 02:24:00 · 242 阅读 · 0 评论 -
微知-linux内核中PCIe驱动扫描后驱动加载为什么有两种类型的resource?分别是什么?
因为当应用程序访问某个地址空间的时候 CPU访问地址的时候 通过host bridge发送地址,mmu会自动过滤掉io空间的地址,经由pcie host bridge进行访问io设备的资源。所以本文开始提出的在扫描中驱动加载显示bar资源的需要的两种内存类型,是设备用来表示它所使用的两种内存介质,一种是用自己的配置空间的地址,另外一种是使用物理内存的地址。在PCIE的配置空间的bar(基础地址寄存器)空间里面 每一个伴都会告诉内核,他所需要的空间大小 以及它所使用的空间类型。原创 2024-08-24 02:05:15 · 371 阅读 · 0 评论 -
微知-如何用iperf3打流测试网卡带宽等性能?
fill:#333;color:#333;color:#333;fill:none;原创 2024-08-21 08:47:58 · 1082 阅读 · 0 评论 -
Linux eth接口的sysfs文件中rx_page_cache/log_mult_limit作用是什么?(倍数限制,rx page cache对于ing buffer的膨胀系数)
本文介绍Linux内核协议栈标准实现中,关于rx_page_cache的log_mult_limit参数的作用、机理和常见值。以对Linux内核协议栈同网卡之间进行数据交互的资源有一个切片认识。原创 2024-08-14 03:09:51 · 1322 阅读 · 0 评论 -
网络命令之查看网口最大网速的一些方法?(/sys/class/net/ethx/speed、ethtool ethx)
【代码】网络命令之查看网口网速的一些方法?原创 2024-08-14 02:08:29 · 277 阅读 · 0 评论 -
【Mellanox命令之mlxlink】如何查看网卡PCIe传输错误统计?(mlxlink -d 41:00.1 --port_type PCIE -c -e)
在分析性能不足时候,辅助排除PCIe的问题。关注RX和TX error的情况。原创 2024-08-11 21:00:19 · 353 阅读 · 0 评论 -
【微知】RDMA和拥塞控制领域中的NP和RP是什么?
在eth接口的sysfs文件中,关于ECN有2个目录分别是roce_np、roce_rp。在拥塞控制中也经常提到NP、RP、CP,这里的NP和RP、CP分别是什么意思?原创 2024-08-11 17:58:39 · 660 阅读 · 0 评论 -
Mellanox网卡中mlnx_qos的DCBX是什么,ETS是什么,TC的BW是什么?如何设置?--tsa ets...,strict --tcbw 10,0,90,...0
同时结合合理的参数策略。比如ets设置0,那么在整体流量超限之后会将该tc限制最大0%,也就是不给这个tc流量。有阴有阳,有定性也有定量。指定ETS之后,可以设置最低带宽保障,最低带宽保障通过–tcbw指定,tcbw参数中,如果对应的tc是strict或者vendor,必须设置为0,不然会报错。BW bandwidth,ETC设置会使用到的最低带宽保障,在–tcbw参数中,8个TC的总和加起来要等于100,不然要报错。通过设置–tsa设置传输算法,将算法设置到对应的tc,入参是每个tc对应的算法方式。原创 2024-08-11 16:34:07 · 641 阅读 · 0 评论 -
【Mellanox命令系列之mlnx_qos设置DSCP】如何绑定流量类型DSCP与网卡硬件队列,为什么设置,如何生效?(--trust=dscp; --dscp2prio set,63,0)
后2个bit是ECN(显式拥塞通知Explicit Congestion Notification,是用来进行拥塞管理的,数据包从端-交换机-端流程中,流经交换机如果出现交换机拥塞(准确讲是超过交换机配置的认为拥塞的水位线)后,会将该IP报文的ECN字段标记为11,表示数据传输中出现了拥塞,当端侧收到被标记ECN的报文后,接收端会发送一个CNP报文给发送端,以控制发送端进行拥塞控制,进行降速。是针对不同的业务流量,比如会议中的语音和视频,语音更需要保障实时性,那么语音和视频就需要使用不同的优先级传输。原创 2024-08-11 12:51:53 · 1080 阅读 · 0 评论 -
【Mellanox counter系列之discard】那些discard的counter们以及2种查看硬件缓冲区?rx_discards_phy、rx_prio0_discard、mlnx_qos
判断方法也是网卡上硬件的逻辑进行判断的,硬件上应该是提供寄存器作为ASIC网卡芯片的配置(猜测)。系统启动需要预留这部分的eth的port对应的32个channel以及每个channel的1024个包的内存大小,具体每个包预留多大是根据MTU来确定的然后按照4K对其内核页,比如mtu是1500,带上头部,会预留一个物理页4KB。本文介绍Mellanox网卡上关于discard数据包的counter,顺便介绍了网卡上的收包流程和依赖的几个buffer和8个队列以及基于dscp的业务数据与队列的关系。原创 2024-08-11 02:06:04 · 799 阅读 · 0 评论 -
【Mellanox命令之:mdevices_info】一个比ethtool和lspci查看Mellnox网卡PCIe busid更方便的命令?(mdevices_info -vv)
可以查看到网卡代、PCIe的busid、rdma的接口和eth的接口(去掉net-前缀)缺点:只能看到busid,mlx设备和eth设备看不到。缺点:需要先获取eth口。原创 2024-08-11 00:24:42 · 258 阅读 · 0 评论 -
如何通过命令行查看Mellanox网卡是否插上网线以及遇到报错(Unable link和Received ADDR_ERROR)处理办法?(ip addr show)
使用ib_write_bw一直报错,排除了rdma_cm的问题,怀疑是链路异常,查看ib_core无异常。本文背后是记录一次以前可以正常工作的CX4和CX5服务器,在升级Mellanox网卡驱动后,出现建链失败的分析。,想到建链的IP地址不是网口配置IP而是bcm的IP,配置mlx5网卡的IP,使用新IP测试tcp建链成功,但是rdma_cm建链失败。rdma_cm建链分析还是使用了bcm的IP,修改为正确的IP后解决。rdma_cm建链分析还是使用了bcm的IP,修改为正确的IP后解决。原创 2024-08-10 23:24:07 · 985 阅读 · 0 评论 -
Mellanox网卡PCC可编程拥塞控制中配置PPCC寄存器的3种对象、15个cmd_type以及代码三部曲?(algo slot、parameter、counter; 初始化-阻塞等待事件-销毁)
背后本质应该是一个二维数组,并且是在asic的芯片上的资源,然后PPCC这个寄存器是用来给软件留的API来查询的。每个slot里面跑的是某个算法,比如要使能某个算法,就需要cmd_type=1, 并且指定对应的algo_slot。其中algo_slot=x表示去操作哪个algo_slot的信息,这里都是入参,用来指定操作某个slot的信息。会创建pcc进程和其他资源,并且触发pcc的初始化,以及注册pcc到硬件上以让cc事件,以便能够生成事件,以及事件处理函数能够被触发,然后从DPA发送到NIC。原创 2024-07-12 01:12:26 · 694 阅读 · 0 评论 -
【Mellanox微代码】Firmware的9种报错有哪些?
比如使用flint升级如果升级固件未签名会报错:MLXFW_FSM_STATE_ERR_REJECTED_UNSIGNED。Firmware报错是驱动和FW交互后的反馈错误信息。原创 2024-07-09 08:31:18 · 246 阅读 · 0 评论 -
【文化差异】深入扒一扒rdma报文中的syndrome到底是什么意思?(错误的行为( ERROR BEHAVIOR)或者叫做故障行为(fault behavior))
英语是一个显式表征的语言。rdma中经常见到syndrome单词。原创 2024-06-29 02:13:48 · 1094 阅读 · 0 评论 -
tcpdump常见参数汇总
【代码】tcpdump常见参数汇总。原创 2024-06-26 00:44:12 · 317 阅读 · 0 评论 -
RDMA建链的3次握手和断链的4次挥手流程?
双端都需要发送所以累计四次。更多细节以后逐渐补充。原创 2024-06-25 23:56:35 · 1203 阅读 · 0 评论 -
【微信息】Mellanox驱动到Firmware的操作命令有哪些,内核驱动如何将enum打印成字符串?(比如:MLX5_CMD_OP_CREATE_QP)
【代码】【微信息】Mellanox驱动到Firmware的操作命令有哪些?(比如:MLX5_CMD_OP_CREATE_QP)原创 2024-06-25 08:43:55 · 255 阅读 · 0 评论 -
【微命令】Mellanox网卡如何查看网卡中的所有config配置?(mlxconfig -d 42:00.0 q查询、s设置、-e查看多个配置)
d 可以指定BDF,也可以指定类似/dev/mst/mt41686_pciconf0。原创 2024-05-20 00:54:39 · 488 阅读 · 1 评论 -
Mellanox网卡温度过高告警如何查看?(dmesg |grep -i temp)
如果时间长了容易烧卡。原创 2024-05-20 00:42:19 · 384 阅读 · 0 评论 -
【报错处理】ib_write_bw执行遇到Failed to modify QP 358 to RTR原因与解决办法?
QP可以处于不同的状态,其中RTR(Ready to Receive)是QP状态之一,表示QP已经准备好接收消息。两个IB接口并未链接,但是两个IB接口的服务器是能够互通的时候会出现该问题。更改拓扑,让测试的两个port在IB上能够通。比如直连或者交换机处理。命令: ib_write_bw 1.1.1.1。原创 2024-05-19 02:11:47 · 1099 阅读 · 0 评论 -
【Mellanox系列之】Mellanox网卡的PCIe形态HHHL和FHHL是什么意思?(Half-Height, Half-Length、Full-Height, Half-Length)
这里的SFF和光模块的SFP是相同的SF都表示小接口。原创 2024-05-08 01:48:31 · 825 阅读 · 0 评论 -
小记录【RDMA系列之】QP的信息在sys文件系统中路径?
可以查看QP的一些属性和信息。原创 2024-05-08 01:33:50 · 413 阅读 · 0 评论 -
【Mellanox系列之】Mellanox系列网卡常用的几种光电接口的分类与一些常见术语?(SFP、QSFP、QSFP28 56 112、OSFP、AOC、DAC、MPO、MTP)
简要记录。参考:原创 2024-05-08 01:19:58 · 1026 阅读 · 0 评论 -
【报错处理】ib_write_bw报错Couldn‘t allocate MR处理办法?为什么root能通非root不通?(ulimit -l; /etc/security/limits.conf`)
ulimit是针对每个shell进程的,系统创建shell的时候会根据 /etc/security/limits.conf中来设置默认的限制值。另外要熟悉rdma的mem内存原理,知道锁内存的情况,结合ulimit就打通,从而进行设置和解决无法alloc MR的问题。ib_write_bw默认启动是65536的size。由于ib_write_bw在启动前reg mr的过程会pin mem,这里的pin mem就是锁住内存。在root能够正常执行ib_write_bw,但是在普通用户无法执行。原创 2024-05-08 00:40:37 · 394 阅读 · 0 评论 -
【DPU系列之】DPU上如何查看BFB版本以及ATF、UEFI和FW版本?(/etc/mlnx-release、bfvcheck)
【代码】【DPU系列之】DPU上如何查看BFB版本以及ATF、UEFI和FW版本?原创 2024-05-05 23:33:05 · 338 阅读 · 0 评论 -
【DPU系列之】BlueField DPU的3种工作模式,相互特点以及如何开启和关闭?(ECPF、Zero Trust、NIC;mlxprivhost r p q;mlxconfig;冷重启)
可以看到设置为p之后,ARM和HOST都具有特权。原创 2024-05-05 21:38:09 · 1568 阅读 · 0 评论 -
【DPU系列之】DPU中的ECPF概念是什么?全称是什么?(E CPF对标H CPF;embedded CPU function ownership)
参考:https://docs.nvidia.com/networking/display/bluefielddpuosv460/modes+of+operation原创 2024-05-05 20:39:02 · 353 阅读 · 0 评论 -
【Mellanox命令系列之】Mellanox查看网卡信息的2个命令以及如何查看连接状态、速率等以及涉及2个RPM工具包?(ibstat、ibv_devinfo;IB diags包和ibverbs包)
这里可以得到2个Mellanox提供的工具rpm来源,一个是infiniband的diags一个是libibverbs提供的tools。ibstat 是infiniband-diags提供的调试工具,侧重点就是在物理设备层面,所以对于网卡更接近。ibstat 是infiniband-diags提供的工具,侧重点就是在物理设备层面,所以对于网卡更接近。(顺带提一句,如果是自己安装的系统,比如anolisos,建议选择全量的命令)ibv_devinfo 是libibverbs提供的工具,侧重点在用户层。原创 2024-05-05 17:49:39 · 1774 阅读 · 0 评论 -
【DPU系列之】Bluefield 2 DPU卡的功能图,ConnectX网卡、ARM OS、Host OS的关系?(通过PCIe Switch连接)
图片来源:https://docs.nvidia.com/networking/display/bluefielddpuosv460/functional+diagram。原创 2024-05-05 17:11:22 · 612 阅读 · 0 评论 -
【DPU系列之】DPU上查看mst status报错MST PCI module is not loaded处理办法以及涉及的2个ko和3条命令?(mst start、status、stop)
使用modprobe自动加载mst_pci,如果系统没有需要单独编译。看到只有mst_pciconf,没有mst_pci。原因是没有加载mst的相关内核driver。再次查看lsmod:可以看到已经加载。原创 2024-05-05 16:49:42 · 817 阅读 · 0 评论 -
【DPU系列之】如何通过带外口登录到DPU上的ARM服务器?(Bluefield2举例)
连接前后在路由器的web端查看新增的设备,并获取IP地址:(可以通过MAC地址进一步确认,网卡的MAC地址在网卡的标签上)。DPU上的ARM服务器可以通过多种方式登录(rshim、IP、带外IP、BMC串口),本文主要记录通过BMC端口登录。可以看到CPU是ARM的A72,有1块芯片(socket),8核,支持32和64bit。需要把DPU的OOB、服务器、用户电脑都连接到同一网络。使用ssh登录到DPU,可以从server端登录,也可以用用户电脑直接登录。可以看到登录成功,另外可以看到oob的IP地址。原创 2024-05-05 16:23:16 · 1243 阅读 · 0 评论 -
【小工具pcie2netdev】一次获取Mellanox网卡eth、ib、IP、PCIe等信息的命令(lspci > bdf > /sys/class/pci_bus > eth > ibdev)
经常为了获取某个IB设备的信息需要多个命令,并且命令之间需要获取PCIe的BDF、获取Eth名字、获取ib名字,然后查询。效率低而且不全面。特此写了个小工具一把刷出来。原创 2024-05-05 13:15:16 · 480 阅读 · 0 评论 -
Nvidia DPU从BF2到BF3的9大重要变化:5升级2增加2迁移1相同(硬件模块布局视角看)
本文主要记录HHHL规格的BF2。图片来源 NV官网。原创 2024-05-04 02:37:51 · 2077 阅读 · 0 评论 -
【Mellanox系列之】PSID是什么?有什么作用?它的4级格式什什么?如何获取?(flint -d x q、board-version-parameter)
比如下图中板卡有3个,分别是241、242和243,可以看到对应PN号的第三位(在PN中代表使用的光纤版本不一样,比如1是单口SFP28,2是双口SFP28,3是双口QSFP28),因为第三位硬件的借口不一样的他的PSID也不一样。也就是从PSID的board型号可以间接了解硬件板卡是不一样的。本文介绍PSID的全称、作用、格式,以及实操查看对应网卡的PSID,再从ReleaseNote中看其他网卡的PSID。PSID是一个ID,是Parameter的ID,是Parameter的set的 ID。原创 2024-05-04 01:15:05 · 1081 阅读 · 0 评论 -
【Mellanox命令之】如何查看系统MFT版本是否与OFED和FW匹配?(mst version、rpm -qa|grep mft)
如果出现升级了OFED,以及FW、lib等,但是在Debug中遇到异常。可能与mft版本不匹配有关。那么如何获取mft与OFED、FW之间的匹配关系呢?原创 2024-05-03 00:25:52 · 451 阅读 · 0 评论 -
【RDMA命令系列之】如何安装Mellanox固件管理工具MFT以及RPM包中的66条命令?(Mellanox Firmware Tools:mlxconfig、mlxreg、mst、mstdump)
提供给OEM进行操作的命令,包括cpld更新、格式转换等。相关命令作用、场景与用法后期再通过其他文档更新。可以看到很多常见的命令。原创 2024-05-02 01:08:29 · 1593 阅读 · 0 评论