Thread CLI cannot ping ipv4

I need to use ipv4 since my home network dont support ipv6 and I expect similar issues in the production environment. When I try to ping ipv4 from my thread cli device through my border router I'll get an error:

ot ping 8.8.8.8
Error 6: Parse

Nat64 on Openthread Border Router is enabled:

sudo ot-ctl nat64 state
PrefixManager: Active
Translator: Active
Done

I can ping through ot on border router an ipv4

sudo ot-ctl ping 8.8.8.8
Pinging synthesized IPv6 address: fd4e:8ea1:cbd3:2:0:0:808:808
16 bytes from fd4e:8ea1:cbd3:2:0:0:808:808: icmp_seq=2 hlim=117 time=8ms
1 packets transmitted, 1 packets received. Packet loss = 0.0%. Round-trip min/avg/max = 8/8.0/8 ms.
Done

I can ping from thread cli to border and vice versa on ipv6

I am using the nrfconnect cli sample in different sdk versions e.g. 2.1.2 or 2.0.2 with standrd prefs:

#
# Copyright (c) 2020 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# Network shell
CONFIG_SHELL=y
CONFIG_OPENTHREAD_SHELL=y
CONFIG_SHELL_ARGC_MAX=26
CONFIG_SHELL_CMD_BUFF_SIZE=416

# Enable OpenThread features set
CONFIG_OPENTHREAD_NORDIC_LIBRARY_MASTER=y

CONFIG_NET_L2_OPENTHREAD=y

# Generic networking options
CONFIG_NETWORKING=y

CONFIG_ASSERT=y
CONFIG_ASSERT_NO_COND_INFO=y
CONFIG_MBEDTLS_SHA1_C=n
CONFIG_FPU=y

CONFIG_GPIO_SHELL=y

Parents
  • Hi, 

    Could you verify the following to avoid potential misunderstandings

    When I try to ping ipv4 from my thread cli device through my border router I'll get an error:

    The ping ipv4 command is sent from an interface connected to the thread cli device and is routed through the OTBR (OpenThreadBorderRouter). The OTBR has NAT64 enabled and it still yields a parse error?

    I can ping through ot on border router an ipv4

    The ping ipv4 command is sent from an interface connected to the OTBR? 

    I can ping from thread cli to border and vice versa on ipv6

    This sounds to be working as intended. OpenThread requires ipv6, and if you intend to do ipv4 communication you are required to have a translator such as the NAT64 enabled on a OTBR. 

    I am not quite sure yet if the OTBR with NAT64 can handle incoming ipv4 messages or if it is only outgoing ipv4 messages, but I am looking into if that is a requirement

    Kind regards,
    Andreas

Reply
  • Hi, 

    Could you verify the following to avoid potential misunderstandings

    When I try to ping ipv4 from my thread cli device through my border router I'll get an error:

    The ping ipv4 command is sent from an interface connected to the thread cli device and is routed through the OTBR (OpenThreadBorderRouter). The OTBR has NAT64 enabled and it still yields a parse error?

    I can ping through ot on border router an ipv4

    The ping ipv4 command is sent from an interface connected to the OTBR? 

    I can ping from thread cli to border and vice versa on ipv6

    This sounds to be working as intended. OpenThread requires ipv6, and if you intend to do ipv4 communication you are required to have a translator such as the NAT64 enabled on a OTBR. 

    I am not quite sure yet if the OTBR with NAT64 can handle incoming ipv4 messages or if it is only outgoing ipv4 messages, but I am looking into if that is a requirement

    Kind regards,
    Andreas

Children
Related