0

我正在尝试使用实现的函数“ip64_addr_6to4”在 Contiki OS 中的 exp5438 mote 上将 ipv6 地址转换为 ipv4 地址:

    int ip64_addr_6to4(const uip_ip6addr_t *ipv6addr, uip_ip4addr_t *ipv4addr)

它返回“0”,这意味着它无法转换地址。为了尝试在https://sourceforge.net/p/contiki/mailman/message/31607766/中解释的解决方案,我将以下行添加到“contiki/platform/exp5438/contiki-conf.h”:

   #define UIP_FALLBACK_INTERFACE ip64_uip_fallback_interface

编译时,我收到此错误:

contiki-exp5438.a(tcpip.o):在函数“tcpip_uipcall”中:/home/user/contiki/examples/mySim/routing/../../..//core/net/ip/tcpip.c: 793:未定义引用 ip64_uip_fallback_interface /home/user/contiki/examples/mySim/routing/../../..//core/net/ip/tcpip.c:779:未定义引用 ip64_uip_fallback_interface

我找不到错误和解决方案之间的关系。任何解决错误或执行功能正常工作的建议将不胜感激。

4

2 回答 2

1

如何将 IPv6 地址转换为 IPv4 地址?两者都是本质上不兼容的网络级协议。虽然有 6 到 4 个网关,但两者之间没有线性转换。

于 2019-05-04T15:47:11.100 回答
0

Contiki 在 RPL 路由协议上实现,即 Rpl 是 LLN 的 IPv6 路由协议。我认为您应该使用其他路由协议和环境。

于 2021-12-15T11:57:28.973 回答