[cli] clean up IPv6 address printing (#3855)

This commit is contained in:
Łukasz Duda
2019-05-22 19:59:04 +02:00
committed by Jonathan Hui
parent 9e7162253c
commit eb46303ff8
7 changed files with 46 additions and 67 deletions
+22 -32
View File
@@ -401,6 +401,14 @@ void Interpreter::OutputBytes(const uint8_t *aBytes, uint8_t aLength) const
}
}
void Interpreter::OutputIp6Address(const otIp6Address &aAddress) const
{
mServer->OutputFormat(
"%x:%x:%x:%x:%x:%x:%x:%x", HostSwap16(aAddress.mFields.m16[0]), HostSwap16(aAddress.mFields.m16[1]),
HostSwap16(aAddress.mFields.m16[2]), HostSwap16(aAddress.mFields.m16[3]), HostSwap16(aAddress.mFields.m16[4]),
HostSwap16(aAddress.mFields.m16[5]), HostSwap16(aAddress.mFields.m16[6]), HostSwap16(aAddress.mFields.m16[7]));
}
otError Interpreter::ParseLong(char *aString, long &aLong)
{
char *endptr;
@@ -804,11 +812,9 @@ void Interpreter::ProcessChildIp(int argc, char *argv[])
while (otThreadGetChildNextIp6Address(mInstance, childIndex, &iterator, &ip6Address) == OT_ERROR_NONE)
{
mServer->OutputFormat("%04x: %x:%x:%x:%x:%x:%x:%x:%x\r\n", childInfo.mRloc16,
HostSwap16(ip6Address.mFields.m16[0]), HostSwap16(ip6Address.mFields.m16[1]),
HostSwap16(ip6Address.mFields.m16[2]), HostSwap16(ip6Address.mFields.m16[3]),
HostSwap16(ip6Address.mFields.m16[4]), HostSwap16(ip6Address.mFields.m16[5]),
HostSwap16(ip6Address.mFields.m16[6]), HostSwap16(ip6Address.mFields.m16[7]));
mServer->OutputFormat("%04x: ", childInfo.mRloc16);
OutputIp6Address(ip6Address);
mServer->OutputFormat("\r\n");
}
}
@@ -1098,11 +1104,8 @@ void Interpreter::HandleDnsResponse(const char *aHostname, Ip6::Address &aAddres
if (aResult == OT_ERROR_NONE)
{
mServer->OutputFormat("[%x:%x:%x:%x:%x:%x:%x:%x] TTL: %d\r\n", HostSwap16(aAddress.mFields.m16[0]),
HostSwap16(aAddress.mFields.m16[1]), HostSwap16(aAddress.mFields.m16[2]),
HostSwap16(aAddress.mFields.m16[3]), HostSwap16(aAddress.mFields.m16[4]),
HostSwap16(aAddress.mFields.m16[5]), HostSwap16(aAddress.mFields.m16[6]),
HostSwap16(aAddress.mFields.m16[7]), aTtl);
OutputIp6Address(aAddress);
mServer->OutputFormat(" TTL: %d\r\n", aTtl);
}
else
{
@@ -1130,11 +1133,8 @@ void Interpreter::ProcessEidCache(int argc, char *argv[])
continue;
}
mServer->OutputFormat("%x:%x:%x:%x:%x:%x:%x:%x %04x\r\n", HostSwap16(entry.mTarget.mFields.m16[0]),
HostSwap16(entry.mTarget.mFields.m16[1]), HostSwap16(entry.mTarget.mFields.m16[2]),
HostSwap16(entry.mTarget.mFields.m16[3]), HostSwap16(entry.mTarget.mFields.m16[4]),
HostSwap16(entry.mTarget.mFields.m16[5]), HostSwap16(entry.mTarget.mFields.m16[6]),
HostSwap16(entry.mTarget.mFields.m16[7]), entry.mRloc16);
OutputIp6Address(entry.mTarget);
mServer->OutputFormat(" %04x\r\n", entry.mRloc16);
}
exit:
@@ -1311,11 +1311,8 @@ void Interpreter::ProcessIpAddr(int argc, char *argv[])
for (const otNetifAddress *addr = unicastAddrs; addr; addr = addr->mNext)
{
mServer->OutputFormat("%x:%x:%x:%x:%x:%x:%x:%x\r\n", HostSwap16(addr->mAddress.mFields.m16[0]),
HostSwap16(addr->mAddress.mFields.m16[1]), HostSwap16(addr->mAddress.mFields.m16[2]),
HostSwap16(addr->mAddress.mFields.m16[3]), HostSwap16(addr->mAddress.mFields.m16[4]),
HostSwap16(addr->mAddress.mFields.m16[5]), HostSwap16(addr->mAddress.mFields.m16[6]),
HostSwap16(addr->mAddress.mFields.m16[7]));
OutputIp6Address(addr->mAddress);
mServer->OutputFormat("\r\n");
}
}
else
@@ -1410,11 +1407,8 @@ void Interpreter::ProcessIpMulticastAddr(int argc, char *argv[])
{
for (const otNetifMulticastAddress *addr = otIp6GetMulticastAddresses(mInstance); addr; addr = addr->mNext)
{
mServer->OutputFormat("%x:%x:%x:%x:%x:%x:%x:%x\r\n", HostSwap16(addr->mAddress.mFields.m16[0]),
HostSwap16(addr->mAddress.mFields.m16[1]), HostSwap16(addr->mAddress.mFields.m16[2]),
HostSwap16(addr->mAddress.mFields.m16[3]), HostSwap16(addr->mAddress.mFields.m16[4]),
HostSwap16(addr->mAddress.mFields.m16[5]), HostSwap16(addr->mAddress.mFields.m16[6]),
HostSwap16(addr->mAddress.mFields.m16[7]));
OutputIp6Address(addr->mAddress);
mServer->OutputFormat("\r\n");
}
}
else
@@ -1737,7 +1731,7 @@ void Interpreter::ProcessNetworkDataShow(int argc, char *argv[])
SuccessOrExit(error = otNetDataGet(mInstance, false, data, &len));
this->OutputBytes(data, static_cast<uint8_t>(len));
OutputBytes(data, static_cast<uint8_t>(len));
mServer->OutputFormat("\r\n");
exit:
@@ -1996,12 +1990,8 @@ void Interpreter::HandleIcmpReceive(Message & aMessage,
mServer->OutputFormat("%d bytes from ", aMessage.GetLength() - aMessage.GetOffset() + sizeof(otIcmp6Header));
mServer->OutputFormat(
"%x:%x:%x:%x:%x:%x:%x:%x", HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[0]),
HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[1]), HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[2]),
HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[3]), HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[4]),
HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[5]), HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[6]),
HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[7]));
OutputIp6Address(aMessageInfo.GetPeerAddr());
mServer->OutputFormat(": icmp_seq=%d hlim=%d", HostSwap16(aIcmpHeader.mData.m16[1]), aMessageInfo.mHopLimit);
if (aMessage.Read(aMessage.GetOffset(), sizeof(uint32_t), &timestamp) >= static_cast<int>(sizeof(uint32_t)))