在Contiki OS中,我尝试使用已实现的功能“ ip64_addr_6to4”将ipv6地址转换为exp5438节点上的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的未定义引用
我找不到错误和解决方案之间的关系。任何解决该错误或执行该功能正常工作的建议都会受到赞赏。
答案 0 :(得分:1)
您如何将IPv6地址转换为IPv4地址?两者都是本质上不兼容的网络级协议。虽然有6至4个网关,但两者之间没有线性转换。