mirror of https://github.com/ARMmbed/mbed-os.git
Added hex dump tracing to ipv6, ipv4 and ppp modules
parent
23f8ac903e
commit
41c647b1c9
|
@ -117,6 +117,13 @@ void assert_printf(char *msg, int line, char *file);
|
|||
#endif // MBED_CONF_LWIP_USE_MBED_TRACE
|
||||
#endif
|
||||
|
||||
#if TRACE_TO_ASCII_HEX_DUMP
|
||||
#define TRACE_TO_ASCII_HEX_DUMPF(prefix, len, data) trace_to_ascii_hex_dump(prefix, len, data)
|
||||
void trace_to_ascii_hex_dump(char* prefix, int len, char *data);
|
||||
#else
|
||||
#define TRACE_TO_ASCII_HEX_DUMPF(prefix, len, data) ((void)0)
|
||||
#endif
|
||||
|
||||
#include "cmsis.h"
|
||||
#define LWIP_PLATFORM_HTONS(x) __REV16(x)
|
||||
#define LWIP_PLATFORM_HTONL(x) __REV(x)
|
||||
|
|
|
@ -590,4 +590,23 @@ void assert_printf(char *msg, int line, char *file) {
|
|||
}
|
||||
#endif // MBED_CONF_LWIP_USE_MBED_TRACE
|
||||
|
||||
#if TRACE_TO_ASCII_HEX_DUMP
|
||||
void trace_to_ascii_hex_dump(char *prefix, int len, char *data)
|
||||
{
|
||||
int line_len = 0;
|
||||
|
||||
for (int i = 0; i < len; i++) {
|
||||
if ((line_len % 16) == 0) {
|
||||
if (line_len != 0) {
|
||||
LWIP_PLATFORM_DIAG(("\n"));
|
||||
}
|
||||
LWIP_PLATFORM_DIAG(("%s %06x", prefix, line_len));
|
||||
}
|
||||
line_len++;
|
||||
LWIP_PLATFORM_DIAG((" %02x", data[i]));
|
||||
}
|
||||
LWIP_PLATFORM_DIAG(("\n"));
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LWIP_DEBUG */
|
||||
|
|
|
@ -1048,6 +1048,8 @@ ip4_debug_print(struct pbuf *p)
|
|||
{
|
||||
struct ip_hdr *iphdr = (struct ip_hdr *)p->payload;
|
||||
|
||||
TRACE_TO_ASCII_HEX_DUMPF("IP>", lwip_ntohs(IPH_LEN(iphdr)), (char *) iphdr);
|
||||
|
||||
LWIP_DEBUGF(IP_DEBUG, ("IP header:\n"));
|
||||
LWIP_DEBUGF(IP_DEBUG, ("+-------------------------------+\n"));
|
||||
LWIP_DEBUGF(IP_DEBUG, ("|%2"S16_F" |%2"S16_F" | 0x%02"X16_F" | %5"U16_F" | (v, hl, tos, len)\n",
|
||||
|
|
|
@ -1101,6 +1101,8 @@ ip6_debug_print(struct pbuf *p)
|
|||
{
|
||||
struct ip6_hdr *ip6hdr = (struct ip6_hdr *)p->payload;
|
||||
|
||||
TRACE_TO_ASCII_HEX_DUMPF("IP>", IP6H_PLEN(ip6hdr) + 40, (char *) ip6hdr);
|
||||
|
||||
LWIP_DEBUGF(IP6_DEBUG, ("IPv6 header:\n"));
|
||||
LWIP_DEBUGF(IP6_DEBUG, ("+-------------------------------+\n"));
|
||||
LWIP_DEBUGF(IP6_DEBUG, ("| %2"U16_F" | %3"U16_F" | %7"U32_F" | (ver, class, flow)\n",
|
||||
|
|
|
@ -727,6 +727,7 @@ void ppp_dump_packet(ppp_pcb *pcb, const char *tag, unsigned char *p, int len) {
|
|||
return;
|
||||
}
|
||||
|
||||
TRACE_TO_ASCII_HEX_DUMPF("PPP>", len, (char *) p);
|
||||
ppp_dbglog("%s %P", tag, p, len);
|
||||
}
|
||||
#endif /* PRINTPKT_SUPPORT */
|
||||
|
|
Loading…
Reference in New Issue