Merge https://gitlab.denx.de/u-boot/custodians/u-boot-sh
[oweals/u-boot.git] / net / eth_legacy.c
index 850f362d873e2930da2d0e42bf77f5412c5b64cc..5d6b0d7d7f4599a640668b28bcfa462a8de4c987 100644 (file)
@@ -11,6 +11,7 @@
 #include <net.h>
 #include <phy.h>
 #include <linux/errno.h>
+#include <net/pcap.h>
 #include "eth_internal.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -116,7 +117,7 @@ static int on_ethaddr(const char *name, const char *value, enum env_op op,
                        switch (op) {
                        case env_op_create:
                        case env_op_overwrite:
-                               eth_parse_enetaddr(value, dev->enetaddr);
+                               string_to_enetaddr(value, dev->enetaddr);
                                eth_write_hwaddr(dev, "eth", dev->index);
                                break;
                        case env_op_delete:
@@ -352,10 +353,17 @@ int eth_is_active(struct eth_device *dev)
 
 int eth_send(void *packet, int length)
 {
+       int ret;
+
        if (!eth_current)
                return -ENODEV;
 
-       return eth_current->send(eth_current, packet, length);
+       ret = eth_current->send(eth_current, packet, length);
+#if defined(CONFIG_CMD_PCAP)
+       if (ret >= 0)
+               pcap_post(packet, lengeth, true);
+#endif
+       return ret;
 }
 
 int eth_rx(void)