LWIP 双IP实现

LwIP是Light Weight (轻型)IP协议,有无操作系统的支持都可以运行。LwIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,它只需十几KB的RAM和40K左右的ROM就可以运行,这使LwIP协议栈适合在低端的嵌入式系统中使用。然而官方提供的协议栈只支持一个接口对应一个IP地址,在一些特殊的场合没法满足需求,本人在官方提供的协议栈基础上进行了更改使其方便的支持单个接口双IP地址,或者多个IP地址,并用LWIP_DIP的宏进行控制,使其功能能够方便的打开和关闭。如下是一些简单的描述。

一、在netif结构中,增加IP地址的存储变量。

LWIP 双IP实现

2、配置IP地址接口

LWIP 双IP实现

3、接口查找处理

LWIP 双IP实现

4、ARP处理部分

LWIP 双IP实现

5、其它修改共8个文件。

LWIP 双IP实现

6、修改后的代码在STM32F207的板子上进行了验证,该板子可同时和两个网络的设备进行通信,达到了双IP,跨网段的效果。由于篇幅有限,没把所有的代码都传上来。有需要的话可以联系[email protected]