12LDX是x厂的支线路合一板。
在其中MAC错误帧透传开发过程中折腾了一阵。记录下。
假定10G以太网业务,GFP模式正常组网:两波分侧对接,两客户侧分别接10G tesgine仪表
1. 实现方案:
a. 客户侧收到R_LOS或LF告警时,向波分侧发FDI管理帧
b. 客户侧收到RF告警时,向波分侧发RDI管理帧
c. 波分侧收到FDI管理帧时,向客户侧发LF告警
d. 波分侧收到RDI管理帧时,向客户侧发RF告警
2. 测试中发现的问题
在构造故障中,分别关闭1,3,5,6口时发现,只有关闭3口的激光器,构造1口RLOS故障时,没有得到预期结果。
1. 反复检查光纤,更换光模块,重启单板,构造1口RLOS故障总得不到预期结果
2. 用两块12LDX的1口与1口对接,构造故障,结果与预期相符
3. 用两块12LDX的3口与3口对接,构造故障,有时与预期相符有时不符
进一步测试发现,将两块12LDX的不用的1,5光口用光纤自环时,符合预期结果
不用的1,5光口都RLOS时,不符合预期
4. 用两块12LDX的3口与3口对接,不用的1口,对应的客户侧设置为GMP模式,构造故障,与预期相符。通过GMP/GFP模式的不同,定位到只是对某一成员变量的设置的不同。
在MAC错误帧透传的相关代码中,此成员变量作为执行相关功能的一个条件:如果不是GFP模式,就不会执行相关代码。也就是,不执行相应端口的代码时,功能是正常的。
5.
6. 将循环执行相关代码的顺序颠倒,由升序改为降序。在构造故障中,分别关闭1,3,5,6口时发现,只有关闭1口的激光器,构造1口RLOS故障时,没有得到预期结果。
7. 由此确定,故障出现与端口循环执行的顺序有关。后执行到的端口总是收不到对主发来的管理帧。
8. 考虑到每对端口用一个8102芯片,循环执行多个端口时,涉及对不同芯片的读写操作。芯片的反应时间不够快。用一个任务周期只处理一个端口的方法,果然得到预期结果。
参考:
8102用户手册
G.7041