硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4937|回复: 11
收起左侧

[以太网] 测试Cyclone TCP,ThreadX NetX,LwIP,RL-TCPnet V4.X和RL-TCPnet V7.X的最大ping包

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107928
QQ
发表于 2020-8-4 08:46:27 | 显示全部楼层 |阅读模式
一般情况下,最大ping包支持到1472即可:
1.png

Cyclone TCP:

Cyclone.png

ThreadX NetX:

NetX.png
加大Packet Pool到#define NX_PACKET_POOL_SIZE ((1536 + sizeof(NX_PACKET)) * 100),可以ping 60000了

1.png
LwIP(2.1.2):

1.png


RL-TCPnet V4.X:

4.png

RL-TCPnet V7.X:


5.png





评分

参与人数 1金币 +10 收起 理由
missfox + 10 很给力!

查看全部评分

回复

使用道具 举报

3

主题

112

回帖

121

积分

初级会员

积分
121
发表于 2020-8-4 09:18:16 | 显示全部楼层
NetX我测试过,就是1472,再大就“无法访问主机了”
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107928
QQ
 楼主| 发表于 2020-8-4 09:19:05 | 显示全部楼层
更新完毕。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107928
QQ
 楼主| 发表于 2020-8-4 09:28:50 | 显示全部楼层
测试发现,有时候超过某个ping包大小后,有些数值也是可以的,但大部分已经不行了。基本是1472之前可以就行了
回复

使用道具 举报

1

主题

75

回帖

78

积分

初级会员

积分
78
发表于 2020-8-4 10:42:19 | 显示全部楼层
NetX的工程是不是没有启用IP fragment功能?可以调用下nx_ip_fragment_enable. 理论上可以支持最大的IP包,Windows上可以试试65500,前提是packet pool有足够的包进行收发.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107928
QQ
 楼主| 发表于 2020-8-4 10:54:45 | 显示全部楼层
catro 发表于 2020-8-4 10:42
NetX的工程是不是没有启用IP fragment功能?可以调用下nx_ip_fragment_enable. 理论上可以支持最大的IP包, ...

看来还真有限制选项,谢谢告知。
回复

使用道具 举报

1

主题

75

回帖

78

积分

初级会员

积分
78
发表于 2020-8-4 10:57:30 | 显示全部楼层
eric2013 发表于 2020-8-4 10:54
看来还真有限制选项,谢谢告知。

这个可以理解为是ThreadX的设计理念,所有的功能都是模块化的。用户不需要像Linux那样做裁剪,而是需要用到什么功能就启用什么功能,这样可以很方便的满足用户对代码尺寸的基本要求。当然更深入的优化还是有一定的宏定义选项可以启用的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107928
QQ
 楼主| 发表于 2020-8-4 10:59:34 | 显示全部楼层
catro 发表于 2020-8-4 10:57
这个可以理解为是ThreadX的设计理念,所有的功能都是模块化的。用户不需要像Linux那样做裁剪,而是需要用 ...

IP fragmen想到了,测试其它协议栈有开。

packet pool的大小还真没注意
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107928
QQ
 楼主| 发表于 2020-8-4 11:29:22 | 显示全部楼层
catro 发表于 2020-8-4 10:42
NetX的工程是不是没有启用IP fragment功能?可以调用下nx_ip_fragment_enable. 理论上可以支持最大的IP包, ...

测试了,的确是packet pool大小影响了。

加大到#define NX_PACKET_POOL_SIZE ((1536 + sizeof(NX_PACKET)) * 100),可以60000了
1.png

回复

使用道具 举报

23

主题

1409

回帖

1478

积分

至尊会员

积分
1478
发表于 2020-8-4 13:06:56 | 显示全部楼层
感谢测评贴
代码不规范,亲人两行泪!
回复

使用道具 举报

3

主题

1269

回帖

1278

积分

至尊会员

积分
1278
发表于 2020-8-4 18:30:46 | 显示全部楼层
硬汉大哥,LWIP的1.x版本的,调整完缓冲大小,可以ping 60000的包
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107928
QQ
 楼主| 发表于 2020-8-4 19:40:25 | 显示全部楼层
morning_enr6U 发表于 2020-8-4 18:30
硬汉大哥,LWIP的1.x版本的,调整完缓冲大小,可以ping 60000的包

基本上锁定了,差不多都是packet缓冲大小的问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-19 03:56 , Processed in 0.223142 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表