- 积分
- 6
贡献42
飞刀2 FD
注册时间2024-9-20
在线时间0 小时
扫一扫,手机访问本帖
|
本帖最后由 hzy 于 2024-9-20 16:26 编辑
# 1. 实验环境
- 2块OK1028A-C V2.1板卡,板卡上包含:
- 一个运行`Linux ls1028ardb 5.10.72-rt53 #1 SMP PREEMPT_RT`操作系统的终端;
- 一个包含4个网口的TSN交换机,端口的位置信息:左下0号、左上1号、右下2号、右上3号;
- 一台Windows7调试机,能够通过串口以及ssh远程到板卡进行配置以及开发;
- 连接拓扑的真实图片以及逻辑拓扑图所示,使用在NXP2板卡上的交换机。
# 2. 网络配置
- 在NXP2板卡上配置并启动交换机
- ```sh
ifconfig eno2 up
ip link add name switch type bridge
ip link set swp0 master switch && ip link set swp0 up
ip link set swp1 master switch && ip link set swp1 up
ip link set swp2 master switch && ip link set swp2 up
ip link set swp3 master switch && ip link set swp3 up
ip link set switch up
```
# 3. 测试程序
简单的socket套接字udp程序,参数指定发送模式、本地地址+端口以及远程地址+端口、发送端指定数据包大小以及周期。
# 4. 实验
## 4.1. 构造优先级为6的数据流
- 在NXP1上运行:
- ```sh
# 创建ID为100的VLAN接口
ip link add link eno0 eno0.100 type vlan id 100
# 配置VLAN的IP地址
ip addr add 192.168.100.232/24 dev eno0.100
# 设置socket优先级到pcp的映射,默认socket的优先级为0
ip link set eno0.100 type vlan egres 0:6
# 启动vlan接口
ip link set dev eno0.100 up
# 删除vlan接口
# ip link delete eno0.100
```
- 在NXP2上运行:
- ```sh
# 创建ID为100的VLAN接口
ip link add link eno0 eno0.100 type vlan id 100
# 配置VLAN的IP地址
ip addr add 192.168.100.234/24 dev eno0.100
# 设置socket优先级到pcp的映射,默认socket的优先级为0
ip link set eno0.100 type vlan egres 0:6
# 启动vlan接口
ip link set dev eno0.100 up
# 删除vlan接口
# ip link delete eno0.100
```
- 在NXP2上运行接收程序:
- `./udp_socket recv 192.168.100.234 8888 `
- 在NXP1上运行发送程序:
- `./udp_socket send 192.168.100.232 7777 192.168.100.234 8888 1024 1000`
- 网络抓包VLAN TAG确实是100,PCP为6
## 4.2. 关闭优先级6的通道
- 在NXP2上运行接收程序:
- `./udp_socket recv 192.168.100.234 8888 `
- 在NXP1上运行发送程序:
- `./udp_socket send 192.168.100.232 7777 192.168.100.234 8888 1024 1000`
- 在NXP2上配置配置swp1端口关闭6号通道,这里只配置一条门控,交换机会遍历门控循环执行。
- ```sh
echo 't0/10111111b/20000' > qbv0.txt
#Explaination:
# 'NUMBER' : t0
# 'GATE_VALUE' : 10111111b,高位->低位分别是优先级为7-0
# 'TIME_LONG' : 20000 ns
```
- 开启门控后20秒关闭门控
- ```sh
tsntool qbvset --device swp1 --entryfile ./qbv0.txt &&
sleep 20 &&
tsntool qbvset --device swp1 --disable
```
- 测试过程中出现了比较奇怪的现象,希望有懂的专家能够指教,尤其在发送1KB大小报文时出现,发送128字节时SSH断开的时间会延迟:
- 在设置门控后几秒钟(时间不确定)SSH远程登入中断了,在关闭门控后SSH恢复正常,会话的输出也没有丢失;
- 理论上接收端应该丢失20包数据,实际上只观察到丢10包以下,抓包发现,在取消门控后,会瞬间收到多包数据,感觉上是这些数据缓存在交换机中。
|
|