Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

time_sync在端设备无法运行 #5

Open
zcw8887seu opened this issue Mar 15, 2024 · 11 comments
Open

time_sync在端设备无法运行 #5

zcw8887seu opened this issue Mar 15, 2024 · 11 comments

Comments

@zcw8887seu
Copy link

zcw8887seu commented Mar 15, 2024

您好,我们目前使用三块AX7021开发板,一台作为caas交换机,两台作为端设备,部署的网络拓扑按照demo中的示例如下:
图片1
对应也修改了config.json和schedule.json,都按照https://github.com/Horacehxw/Ziggo-CaaS-Switch/blob/main/docs/software-build.md 中的指导来的,只是自己设置的mac地址有所不同,但也全部同步修改了。
图片2
图片3
主要问题有三个:
1.在2个端设备运行time_sync均不成功
图片4
图片5
2.pkt_gen在端设备也无法运行
图片6
3.交换机上的Switch_config只能显示当前配置情况,无法实现文档中描述的修改功能
图片7

@ycdfwzy
Copy link
Collaborator

ycdfwzy commented Mar 18, 2024

你好,下面是回答你的问题:
1、这应该是几台设备间时间同步启动的间隔太大,请快速启动几台设备间的时间同步程序,或者使用我们提供的脚本控制时间同步 https://github.com/Horacehxw/Ziggo-TSNPerf/blob/main/testbed-build/batch.mjs
2、修改config里的mac地址为 eth 0 的mac地址
3、这里我没看出有什么问题,应该是正常输出

@zcw8887seu
Copy link
Author

你好,下面是回答你的问题: 1、这应该是几台设备间时间同步启动的间隔太大,请快速启动几台设备间的时间同步程序,或者使用我们提供的脚本控制时间同步 https://github.com/Horacehxw/Ziggo-TSNPerf/blob/main/testbed-build/batch.mjs 2、修改config里的mac地址为 eth 0 的mac地址 3、这里我没看出有什么问题,应该是正常输出

感谢,问题1已经解决,想问下问题2中“修改config里的mac地址”是build目录下的config.json文件里吗?我们这里的地址本身就是eth0的mac地址,如果不是这里的话,那是在哪里修改呢?感谢!

@ycdfwzy
Copy link
Collaborator

ycdfwzy commented Mar 18, 2024

抱歉,上一个回复中我说错了。
问题2里,你是在端设备运行代码,这里应该是用eth1的mac地址

@zcw8887seu
Copy link
Author

抱歉,上一个回复中我说错了。 问题2里,你是在端设备运行代码,这里应该是用eth1的mac地址

您好,我还没太能理解,主要是有两个问题,
1.我们端设备按照硬件部分指导,在使用init_os.sh进行初始化的时候,只有默认的eth0口被设置了mac地址,且前4个字段是写死的,echo -n "Enter your mac address 00:0A:35:00:" ,想请问eth1的mac地址应该如何设置或获得呢?
2.在获得了eth1的mac地址之后,应该在哪里修改呢,是build目录下的config.json文件吗?我们目前的config.json文件在问题最开始的第一张图已经展示,里面只包含节点和连接信息,好像没有可以修改的地方。
麻烦了,非常感谢!

@eraser333
Copy link
Collaborator

  1. 命令行输入ifconfig就能获得eth1的地址
  2. config.json最开始的部分, "nodes"下修改对应节点的mac地址

@zcw8887seu
Copy link
Author

  1. 命令行输入ifconfig就能获得eth1的地址
  2. config.json最开始的部分, "nodes"下修改对应节点的mac地址

您好,我们现在在两台端设备运行pkt_gen结果如下,没看到任何输出,请问这是正常运行的结果吗?如果不是的话,能否指点一下可能是哪里出了问题,以及正确的运行结果应该是怎么样的。
device0发送端pkt
device1接受端
另外还想请教的是,按照Ziggo-TSNPerf/docs/software-build.md中的指导,在运行time sync程序的过程中,数据会被保存在build/packet_log.csv和build/critical_log.csv中,但我们这里都没有看到任何csv文件,请问应该如何处理,非常感谢。

@ycdfwzy
Copy link
Collaborator

ycdfwzy commented Mar 21, 2024

1、pkt_gen 这样的输出结果是正常的,它会配置硬件,自动开始周期性地发送关键数据包。你可以把eth1端口接到电脑上,用wireshark,验证是否成功发包
2、你检查一下是否收到了数据包?可以把最后一个设备换成电脑,用wireshark看一下是否收到了关键数据包

@zcw8887seu
Copy link
Author

1、pkt_gen 这样的输出结果是正常的,它会配置硬件,自动开始周期性地发送关键数据包。你可以把eth1端口接到电脑上,用wireshark,验证是否成功发包 2、你检查一下是否收到了数据包?可以把最后一个设备换成电脑,用wireshark看一下是否收到了关键数据包
图片1
我们还是按照上图中的网络拓扑,发送端ETH1连接交换机ETH1,交换机ETH3连接接收端ETH1,按照您的指导,我们尝试把接收端换成了电脑,在发送端运行pkt_gen并用wireshark抓包,结果如下:
wireshark
这个是代表运行成功了吗?
另外一个问题还是没有解决,就是我们想用Ziggo-TSNPerf/docs/software-build.md中4.1直接分析的方法,但没有找到csv文件,请问是什么问题呢?谢谢。

@eraser333
Copy link
Collaborator

  1. 运行成功了
  2. 请问是否在接收的TSNPerf设备中运行了pkt_gen?

1、pkt_gen 这样的输出结果是正常的,它会配置硬件,自动开始周期性地发送关键数据包。你可以把eth1端口接到电脑上,用wireshark,验证是否成功发包 2、你检查一下是否收到了数据包?可以把最后一个设备换成电脑,用wireshark看一下是否收到了关键数据包
图片1
我们还是按照上图中的网络拓扑,发送端ETH1连接交换机ETH1,交换机ETH3连接接收端ETH1,按照您的指导,我们尝试把接收端换成了电脑,在发送端运行pkt_gen并用wireshark抓包,结果如下:
wireshark
这个是代表运行成功了吗?
另外一个问题还是没有解决,就是我们想用Ziggo-TSNPerf/docs/software-build.md中4.1直接分析的方法,但没有找到csv文件,请问是什么问题呢?谢谢。

@zcw8887seu
Copy link
Author

好的好的,非常感谢,现在已经能看到csv文件了,还想请教您的是,我们想按照Ziggo-TSNPerf/docs/testbed.md中互联互通测试项目进行门控能力的测试
微信截图_20240326093421
想问下:
1.这个“每个调度周期预留长度为 3 的时隙给高优先级流量”应该怎么设置呢
2.每个周期定时发送 4 个数据包长度为 1500Byte 的高优先级(VLAN priority = 1)测试流量应该怎么设置
这两个都是修改schedule.json文件吗?
3.这里时隙和数据包的关系是什么呢,为什么3个时隙可以通过5个包呢
感谢

@eraser333
Copy link
Collaborator

好的好的,非常感谢,现在已经能看到csv文件了,还想请教您的是,我们想按照Ziggo-TSNPerf/docs/testbed.md中互联互通测试项目进行门控能力的测试 微信截图_20240326093421 想问下: 1.这个“每个调度周期预留长度为 3 的时隙给高优先级流量”应该怎么设置呢 2.每个周期定时发送 4 个数据包长度为 1500Byte 的高优先级(VLAN priority = 1)测试流量应该怎么设置 这两个都是修改schedule.json文件吗? 3.这里时隙和数据包的关系是什么呢,为什么3个时隙可以通过5个包呢 感谢

1和2 所有给出测试配置文件都可以在TSNPerf开源项目中找到,请参考https://github.com/Horacehxw/Ziggo-TSNPerf/tree/main/testbed-build
3 时隙是我们团队设置能保证通过1MTU所预留的时间。具体来说一个时隙大小被设置为 2^14 = 16384ns,1MTU 在千兆网络下的存储转发时间是 1500B/1000Mbps = 12000ns (1B=8b)。所以三个时隙大小是 49152ns > 4 * 12000ns。而第5个以太网帧在此期间已经开始发送,所以也会被发完。所以3个时隙可以通过5个1500B的以太网帧。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants