目标:
在ARM上使用基于RTL4201的Lwip协议栈,替换原有的基于W5100的Lwip-SNMP模块。
背景:
由于设备需要SNMP网络管理功能,而以前的简单UDP网络监控都是基于W5100来实现的,STM32F207官方也有Lwip的移植代码,所以把W5100嵌入到了lwip的UDP层,实现了基于W5100的Lwip-SNMP模块,鉴于W5100硬件协议栈芯片的缺点(如),打算替换掉W5100,用ARM自己的MAC控制器+PHY片来实现底层链路。
过程:
根据之前移植Lwip及其SNMP模块的经验,工程上碰到未知的问题不能心虚,虽然以前没有接触过SNMP和Lwip,但是在徘徊踌躇了一天后就直奔目标去,移植了lwip,增加了自己的私有Mib文件实现,又更改了LwIP里原有的SNMP模块的TRAP为V2版本。
总结:已经在实际项目中使用V2的SNMP,但没有实现Get Bulk操作
下一步计划:优化SNMP模块,支持Bulk操作;根据MIB文件自动生成适合Lwip的OID数据结构。