summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorOleksij Rempel <o.rempel@pengutronix.de>2022-04-13 10:22:05 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2022-04-19 09:11:04 +0200
commit2bf8244b52438479f6d3c082252e36094c7cd548 (patch)
tree7ee9fa100f7b87098a231166f3f4dd8d93959cdb /net
parentf50be0f9b97774191fef73585a4454f73b2ded67 (diff)
downloadbarebox-2bf8244b52438479f6d3c082252e36094c7cd548.tar.gz
barebox-2bf8244b52438479f6d3c082252e36094c7cd548.tar.xz
add ethlog command
It is kind of tcpdump or tshark for barebox. Instead of starting application it will let barebox dump everything to the console by still allowing to use other application. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Link: https://lore.barebox.org/20220413082205.429509-15-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net')
-rw-r--r--net/eth.c4
-rw-r--r--net/net.c3
2 files changed, 5 insertions, 2 deletions
diff --git a/net/eth.c b/net/eth.c
index e9e53341f3..bc641dc8e4 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -245,7 +245,7 @@ int eth_send(struct eth_device *edev, void *packet, int length)
led_trigger_network(LED_TRIGGER_NET_TX);
- ret = edev->send(edev, packet, length);
+ ret = eth_send_raw(edev, packet, length);
slice_release(eth_device_slice(edev));
@@ -272,7 +272,7 @@ static void eth_do_work(struct eth_device *edev)
list_for_each_entry_safe(q, tmp, &edev->send_queue, list) {
led_trigger_network(LED_TRIGGER_NET_TX);
- edev->send(edev, q->data, q->length);
+ eth_send_raw(edev, q->data, q->length);
list_del(&q->list);
free(q->data);
free(q);
diff --git a/net/net.c b/net/net.c
index 0b8e4caa0e..eae45e1843 100644
--- a/net/net.c
+++ b/net/net.c
@@ -708,6 +708,9 @@ int net_receive(struct eth_device *edev, unsigned char *pkt, int len)
goto out;
}
+ if (edev->rx_monitor)
+ edev->rx_monitor(edev, pkt, len);
+
if (edev->rx_preprocessor) {
ret = edev->rx_preprocessor(edev, &pkt, &len);
if (ret == -ENOMSG)