net: lwip: add CONFIG_LWIP_DEBUG_RXTX

Add Kconfig symbol LWIP_DEBUG_RXTX to dump the incoming and outgoing
packets when NET_LWIP=y.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Jerome Forissier
2025-03-06 15:32:22 +01:00
parent 1728fa2349
commit 64ce9bfc6d
2 changed files with 20 additions and 0 deletions

View File

@@ -10,6 +10,12 @@ config LWIP_DEBUG
Prints messages to the console regarding network packets that go in Prints messages to the console regarding network packets that go in
and out of the lwIP library. and out of the lwIP library.
config LWIP_DEBUG_RXTX
bool "Dump packets sent and received by lwIP"
help
Performs an hexadecimal & ASCII dump of the data received and sent by
the lwIP network stack.
config LWIP_ASSERT config LWIP_ASSERT
bool "Enable assertions in the lwIP library" bool "Enable assertions in the lwIP library"
help help

View File

@@ -5,6 +5,7 @@
#include <command.h> #include <command.h>
#include <dm/device.h> #include <dm/device.h>
#include <dm/uclass.h> #include <dm/uclass.h>
#include <hexdump.h>
#include <lwip/ip4_addr.h> #include <lwip/ip4_addr.h>
#include <lwip/err.h> #include <lwip/err.h>
#include <lwip/netif.h> #include <lwip/netif.h>
@@ -36,6 +37,12 @@ static err_t net_lwip_tx(struct netif *netif, struct pbuf *p)
void *pp = NULL; void *pp = NULL;
int err; int err;
if (CONFIG_IS_ENABLED(LWIP_DEBUG_RXTX)) {
printf("net_lwip_tx: %u bytes, udev %s\n", p->len, udev->name);
print_hex_dump("net_lwip_tx: ", 0, 16, 1, p->payload, p->len,
true);
}
if ((unsigned long)p->payload % PKTALIGN) { if ((unsigned long)p->payload % PKTALIGN) {
/* /*
* Some net drivers have strict alignment requirements and may * Some net drivers have strict alignment requirements and may
@@ -265,6 +272,13 @@ int net_lwip_rx(struct udevice *udev, struct netif *netif)
flags = 0; flags = 0;
if (len > 0) { if (len > 0) {
if (CONFIG_IS_ENABLED(LWIP_DEBUG_RXTX)) {
printf("net_lwip_tx: %u bytes, udev %s \n", len,
udev->name);
print_hex_dump("net_lwip_rx: ", 0, 16, 1,
packet, len, true);
}
pbuf = alloc_pbuf_and_copy(packet, len); pbuf = alloc_pbuf_and_copy(packet, len);
if (pbuf) if (pbuf)
netif->input(pbuf, netif); netif->input(pbuf, netif);