自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DPDK环形缓冲区——ringbuf

环形缓冲区(ringbuf)是DPDK中的一个关键组件,主要用于在不同线程和进程间无锁传递数据,以实现高速数据访问。

2024-08-08 13:33:53 338

原创 DPDK实现TCP/IP协议(三)---丢包

序列号分析:通过分析序列号和确认号来识别丢包。如果一个具有较高序列号的数据包在具有较低序列号的数据包之前到达,就可以推断出有数据包丢失。检测重复ACK:当发送方收到连续三个或以上的重复ACK时,它假定数据包丢失。ACK超时:为期望的数据包设置超时。如果数据包在指定时间内未到达,则认为其丢失负确认(NACK):使用NACK来显式地指示丢失的数据包,当检测到序列中断时发送NACK根据序列号// 丢包检测逻辑i < nb_rx;i++) {// 提取IP头部。

2024-08-05 16:17:08 311

原创 DPDK实现TCP/IP协议(二)--拥塞控制

DPDK主要用于在用户空间加速数据包处理。DPDK可以通过其提供的加速数据包处理能力来构建自己传输层协议或优化现有协议。DPDK本身并不提供拥塞控制机制,但可以使用DPDK来实现现代化的拥塞控制算法,结合传统TCP/IP协议栈,加速数据包的发送和接收。

2024-08-04 17:37:05 172 1

原创 DPDK实现TCP/IP协议(一)----组包

在DPDK中,采用struct rte_ether_hdr定义以太网协议头。以下是DPDK中以太网头的结构体。DPDK中IP协议头的结构体。DPDK中IP协议头的结构体。

2024-08-03 15:21:22 601

原创 DPDK实现数据包的收发

DPDK(Data Plane Development Kit)允许应用程序直接访问网卡,从网卡数据缓冲区获取数据。1.配置hugepage。

2024-08-02 20:21:25 584

原创 DPDK简单配置启动示例

分配一组数据包缓冲区,并使用 rte_eth_tx_burst 函数一次性发送这些数据包。配置第一个可用的以太网设备 (port_id = 0) 的接收和发送队列。该结构体包含多个字段,用于描述以太网设备的配置信息。该结构体包含多个字段,用于描述接收队列的配置信息。– max_rx_pkt_len: 最大接收数据包长度。成功时返回指向创建的内存池的指针,失败时返回 NULL。– split_hdr_size: 拆分的头部大小。配置第一个以太网设备的发送队列。配置第一个以太网设备的接收队列。

2024-07-21 16:42:54 654

原创 hugepage配置

由于hugepagesz 默认为2M,需要修改hugepagesz >2M ,GRUB_CMDLINE_LINUX后需要增加参数default-hugepagesz=1G修改默认hugepagesz ,否则可能无法分配hugepages。以hugepagesz = 1G hugepages=10为例,hugepagesz * hugepages = 10G =10240M,需要10G的内存空间,实际只能分配出5个hugepage。查看可用的内存大小,以M为单位。当内存free空间等于5891时。

2024-07-19 17:21:48 168

原创 dpdk无坑环境搭建

ubuntu终端下执行命令。

2024-07-18 20:41:23 122

原创 问题解决:dpdk-19.08.02编译报错

这个原因是由于找不到pci_set_dma_mask函数。可用命令检查uname -r内核版本是否支持。

2024-07-17 23:55:45 122

原创 DPDK环境搭建

DPDK环境搭建

2024-07-16 15:17:45 738

原创 问题解决:gcc: error: unrecognized command-line option ‘-ftrivial-auto-var-init=zero’

问题解决

2024-07-16 00:58:24 189

原创 问题解决:error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

问题解决

2024-07-16 00:05:22 168

原创 【C++学习笔记】Lambda表达式的基本使用方法

Lambda表达式的基本使用,用于快捷语法查询

2023-11-07 15:10:49 85

空空如也

空空如也

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

TA关注的人

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