LwIP 2.0.3 迁移 LwIP 2.1.2 注意事项(源地址和目的地址位置调换问题)

LwIP 2.0.3 迁移 LwIP 2.1.2 注意事项

如果你使用了自定义的 router hook,那么请检查你适配的 hook 接口,确定 dest 和 src 顺序是正确的。

在 LwIP 的 CHANGELOG 里有以下描述:

  2017-08-08: Dirk Ziegelmeier
  * ip4_route_src: parameter order is reversed: ip4_route_src(dest, src) -> ip4_route_src(src, dest)
    to make parameter order consistent with other ip*_route*() functions
    Same also applies to LWIP_HOOK_IP4_ROUTE_SRC() parameter order.

意思是 ip4_route_src 接口的 dest 和 src 参数顺序调换了!!!

如果你使用了 route hook,会有如下定义(核心是检查 src 和 dest 的顺序):

#define LWIP_HOOK_FILENAME                  "arch/lwip_hooks.h"
// 在 lwip2.1.1 及其以上版本请使用这样的转换定义
#define LWIP_HOOK_IP4_ROUTE_SRC(src, dest)  hook_ip4_route_src(dest,src)
// 在 lwip 2.0.3 及其之前的版本,请使用以下的定义
// #define LWIP_HOOK_IP4_ROUTE_SRC(dest, src)  hook_ip4_route_src(dest,src)

你可能感兴趣的:(嵌入式,物联网,lwip)