From fcfe4420829742b7decd7855182041e38b7dcbe1 Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Tue, 2 Sep 2025 08:05:22 -0700 Subject: [PATCH] [nat64] update `Mapping::ToString()` to include translated ports (#11886) When `OPENTHREAD_CONFIG_NAT64_PORT_TRANSLATION_ENABLE` is enabled, multiple `Mapping` entries can exist for the same IPv6 and IPv4 addresses, differing only by their protocol ports. To distinguish between these entries in logs and diagnostics, this change updates `Mapping::ToString()` to include the source and translated port numbers in the generated string output. --- src/core/net/nat64_translator.cpp | 5 +++++ src/core/net/nat64_translator.hpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/net/nat64_translator.cpp b/src/core/net/nat64_translator.cpp index d38a34f64..040593599 100644 --- a/src/core/net/nat64_translator.cpp +++ b/src/core/net/nat64_translator.cpp @@ -348,7 +348,12 @@ Translator::Mapping::InfoString Translator::Mapping::ToString(void) const { InfoString string; +#if OPENTHREAD_CONFIG_NAT64_PORT_TRANSLATION_ENABLE + string.Append("%s,%u -> %s,%u", mIp6Address.ToString().AsCString(), mSrcPortOrId, + mIp4Address.ToString().AsCString(), mTranslatedPortOrId); +#else string.Append("%s -> %s", mIp6Address.ToString().AsCString(), mIp4Address.ToString().AsCString()); +#endif return string; } diff --git a/src/core/net/nat64_translator.hpp b/src/core/net/nat64_translator.hpp index fc49ff0db..792c41ebf 100644 --- a/src/core/net/nat64_translator.hpp +++ b/src/core/net/nat64_translator.hpp @@ -323,7 +323,7 @@ private: struct Mapping : public InstanceLocatorInit, public LinkedListEntry { - static constexpr uint16_t kInfoStringSize = 70; + static constexpr uint16_t kInfoStringSize = 80; typedef String InfoString;