summaryrefslogtreecommitdiff
path: root/net/arp.c
diff options
context:
space:
mode:
authorJoe Hershberger <joe.hershberger@ni.com>2012-05-23 07:59:16 +0000
committerJoe Hershberger <joe.hershberger@ni.com>2012-05-23 17:53:04 -0500
commite71110158124009c043eac704db9d442db43b36d (patch)
treeb7404ca02b7a7d831b8e8aeb9582f335a1df5e4d /net/arp.c
parentece223b52ae9ab94f7ae83a9ac49b9f6319a94cb (diff)
downloadu-boot-imx-e71110158124009c043eac704db9d442db43b36d.zip
u-boot-imx-e71110158124009c043eac704db9d442db43b36d.tar.gz
u-boot-imx-e71110158124009c043eac704db9d442db43b36d.tar.bz2
net: Add net_update_ether() to handle ARP and Ping replies
When the network is VLAN or SNAP, net_update_ether() will preserve the original Ethernet packet header and simply replace the src and dest MACs and the protocol Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'net/arp.c')
-rw-r--r--net/arp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/arp.c b/net/arp.c
index fcff536..8cc175a 100644
--- a/net/arp.c
+++ b/net/arp.c
@@ -158,7 +158,7 @@ void ArpReceive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len)
/* reply with our IP address */
debug("Got ARP REQUEST, return our IP\n");
pkt = (uchar *)et;
- eth_hdr_size = NetSetEther(pkt, et->et_src, PROT_ARP);
+ eth_hdr_size = net_update_ether(et, et->et_src, PROT_ARP);
pkt += eth_hdr_size;
arp->ar_op = htons(ARPOP_REPLY);
memcpy(&arp->ar_tha, &arp->ar_sha, ARP_HLEN);