腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
[C++][DPDK]创建一个具有正确的“私有大小”字节对齐方式的rte_mempool
c++
、
segmentation-fault
、
memory-alignment
、
dpdk
我正在试图修改接收到的数据包的长度,方法是将它复制到一个
内存
池中,然后使用所述
内存
池
创建一个rte_
mbuf
,我可以对其进行修改。创建我使用的
内存
池
RTE_
MBUF
_DEFAULT_DATAROOM>, RTE_
MBUF
_DEFAULT_BUF_SIZ
浏览 4
提问于2017-12-20
得票数 0
回答已采纳
1
回答
完全缓存
linux
导致nic下降。
dpdk
、
mellanox
因此,有32个进程使用dpdk从nic接收通信量,每个进程从不同的队列读取,将数据从
mbuf
复制到分配的
内存
,累积到6MB并通过无锁队列发送到另一个线程,而其他线程只将数据写入磁盘。因此,I/O写被缓存在
linux
内存
中。 if(local_buf.len > MAX)进程使用的<
浏览 14
提问于2022-01-19
得票数 0
1
回答
如何避免在处理DPDK mbufs时浪费大量
内存
?
dpdk
单个网络数据包的有效载荷必须在连续
内存
中. 这导致了以下问题: 如果我们将
内存
池
配置为存储大数据包(例如,最大MTU大小),那么我们将始终将有效负载存储在连续
内存
中,但如果接收到包含小数据包的通信量,则会浪费大量
内存
。假设我们的
mbuf
大
浏览 31
提问于2022-07-26
得票数 0
回答已采纳
1
回答
如何修复DPDK大
内存
池
的分段故障?
dpdk
下面的代码片段显示了如何创建
内存
池
,以及如何发送数据包。(这非常简单--我还没有说明如何分配
mbuf
或分配数据包数据)。我的问题是,这对于小的== (BUF_SIZE
Mbuf
2048)工作得很好,但是我需要发送巨型包(9000个八位字节)。我的理解是,我需要设置
mbuf
大小来容纳我需要发送的最大数据包。
内存
池
是否太大?我正在使用dpdk-stable 18.11.9。(BUF_SIZE + sizeof(struct rte_
mbu
浏览 0
提问于2020-08-10
得票数 0
1
回答
DPDK函数rte_pktmbuf_alloc和rte_pktmbuf_free线程安全吗?
dpdk
RX线程在处理接收到的数据包后使用rte_pktmbuf_free释放
mbuf
。TX线程使用rte_pktmbuf_alloc调用分配
mbuf
,并在端口上传输。当对RX描述符init和TX线程中的
mbuf
分配使用相同的
池
时,我们发现有时会出现意外的
mbuf
泄漏和分配失败。如果对RX和每个TX线程使用单独的
池
,则不会看到这些问题。DPDK文档似乎表明
内存
池
操作是线程安全的?我们应该为每个RX和两个TX线程创建唯一
浏览 10
提问于2021-06-21
得票数 2
回答已采纳
1
回答
日志级别较高的dpdk
mbuf
和mempool消息
c
、
linux
、
dpdk
有没有任何线索,如何启用所有
内存
池
,
mbuf
调试在DPDK。我正在使用DPDK2.2.0,我发现了一些在这个版本上没有多大帮助的。
浏览 3
提问于2016-06-06
得票数 0
回答已采纳
2
回答
.net ServiceStack.Redis客户端双代理(胡桃夹)性能下降
.net
、
redis
、
servicestack
、
twemproxy
设置红色和胡桃夹子在CentOS 6.4。并试图使用ServiceStack.Redis客户端进行连接。发现了主要的性能问题。beta: hash: fnv1a_64 auto_eject_hosts: true #server_retry_timeout: 2000 redis: true #- 127.0.0.1:6379:1
浏览 1
提问于2013-11-16
得票数 1
回答已采纳
1
回答
无法使用testpmd使用所有
内存
通道
memory-management
、
hardware
、
dpdk
我发现它只使用了两个
内存
通道。以下是启动testpmd的命令:下面是pcm工具的结果,它表明4个
内存
通道中只有--|如何使用所有四个
内存
通道
浏览 3
提问于2018-03-23
得票数 1
1
回答
dpdk
mbuf
ref计数在分离后检查
dpdk
我使用来自英特尔dpdk库的
mbuf
。我有一个
mbuf
double release的签入代码由于下面的更改,我不能再以这种方式检查了,因为引用计数是1,即使在它释放到
池
之后 是否有方法检查
mbuf
是否已分离(在池中或
池
外)?
浏览 28
提问于2019-07-28
得票数 0
回答已采纳
3
回答
rte_eth_tx_burst()描述符/
mbuf
管理保证与空闲阈值
dpdk
数据包
池
的创建方式如下:这样,在发送数据包时,我宁愿在数据包缓冲区用完之前用完TX描述符。(程序只生成一个数据段的数据包) 我的期望是,当我在循环中调用rte_eth_tx_burst() (一个接一个地发送数据包)时,它永远不会失败,因为它透明地释放已经发送的数据包的
mbuf</e
浏览 62
提问于2021-09-13
得票数 1
1
回答
在redhat上找不到DPDK测试应用程序
linux
、
testing
、
redhat
、
dpdk
:19.0在NUMA套接字上探针驱动程序:8086:153 B net_e1000_em交互模式选择socket=0原因:为套接字0创建
mbuf
池
失败:无法分配
内存
浏览 3
提问于2018-01-05
得票数 0
回答已采纳
1
回答
获取错误设置模
池
句柄::无效参数
dpdk
当我试图创建一个
mbuf
池
时,我看到了这个错误。返回的错误是Invalid argument。我在这里错过了什么?代码片段:日志 平台-x86_64库模式-共享错误原因- EINVAL
浏览 6
提问于2022-09-15
得票数 0
1
回答
利用NKE嗅探HTTP数据包
macos
、
network-programming
、
packet-sniffers
、
kernel-extension
我注册了一个套接字过滤器,每当我获得数据时,我就使用如下代码打印
mbuf
:for (size_t i = 0; i <
mbuf
_len(*data); i++) printf("%c", dataString[i]);printf("\n-------------\n"); 我可以从日志中读取我想知道我是不是读错了
mbuf
,还是其他的问题?
浏览 5
提问于2012-10-21
得票数 2
回答已采纳
1
回答
我需要代码片段来嵌入从辅助DPDK应用程序到主应用程序的有效负载的以太网报头。
dpdk
据我所知,L2数据包必须包装在
mbuf
中,以便能够放置共享环。但我不知道该怎么包装。为了更好地理解,下面是应该一步一步地发生的事情:
mbuf
有许多表示许多东西的字段,所以我不知道要填充哪个字段以及用什
浏览 3
提问于2021-04-17
得票数 0
回答已采纳
1
回答
DPDK 20.11 - IPv4碎片-间接
池
耗尽
c
、
dpdk
in %d\n",rte_mempool_avail_count(pool_direct),rte_mempool_avail_count(pool_indirect)); 后,
内存
池
大小d 2045013在0。 在
浏览 1
提问于2021-07-13
得票数 0
回答已采纳
1
回答
MBUF
满了,最好做什么?
freebsd
我今天注意到
MBUF
的使用已经达到了极限。非常感谢built on Tue Sep 13 17:05:32 EDT 2011
MBUF
浏览 8
提问于2011-11-25
得票数 0
2
回答
在DPDK中实现多核ip碎片的正确方法
dpdk
我试图分配
池
和格式表的方式如下所示。.);就我个人而言,我怀疑我应该为每个逻辑核心分配直接
池
和间接
池
,我认为这是主要问题。因为我只能使用一个逻辑核成功地使用frag表,所以我怀疑我没有在多个核中正确地使用分段表。; nb_
mb
浏览 1
提问于2018-11-05
得票数 1
回答已采纳
1
回答
DPDK:修改捕获数据包报头的最有效方法
c++
、
network-programming
、
packet
、
dpdk
我正在尝试使用
mbuf
和mempool库修改一些GTP数据包的头,特别是我想要删除所有的ETH、IP、UDP、GTP层,获得包的有效负载的(深度)副本。;
mbuf
_pkt->data_len = byte_size;
mbuf
_pkt->pkt_len = byte_size; rte_pktmbuf_append(
mbuf<
浏览 0
提问于2018-01-15
得票数 0
回答已采纳
1
回答
分段故障DPDK
c++
、
dpdk
ethernet header}; void my_send(struct rte_mempool *
mbuf
_pool, uint16_t port, uint64_t max_packets) int retval; structdo{
浏览 6
提问于2021-08-16
得票数 0
回答已采纳
1
回答
FreeBSD:关于网卡环缓冲区、mbufs和bpf缓冲区的问题
buffer
、
freebsd
、
libpcap
、
nic
、
circular-buffer
假设您正在运行tcpdump:在从NIC的环形缓冲区复制数据包之后(物理NIC
内存
,对吗?)它会立即被存储到一个
mbuf
中吗?然后BPF从BPF
mbuf
获取数据包的副本,然后存储在BPF缓冲区中,那么同时
内存
中有两个副本?我在试着理解确切的过程。 还是更像:数据包被从NIC复制到
mbuf
(用于主机堆栈处理)和伪BPF?一旦数据包通过ip/tcp输入函数通过主机堆栈处理,以
mbuf
作为位置(指向
mbuf
),即包被存储在mbufs中,如果包不是为系统寻址的,例
浏览 1
提问于2011-09-23
得票数 5
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Netty源码解析 -- 内存池与PoolArena
图解|Linux内存碎片整理
Linux内存映射mmap原理分析
DPDK-KNI内核网卡接口介绍
解读 Linux 内存管理新特性 Memory folios
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券