net: Refactor packet length computations

Save the length when it is computed instead of forgetting it and
subtracting pointers to figure it out again.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
diff --git a/net/ping.c b/net/ping.c
index c525635..939f8ff 100644
--- a/net/ping.c
+++ b/net/ping.c
@@ -42,6 +42,7 @@
 {
 	static uchar mac[6];
 	uchar *pkt;
+	int eth_hdr_size;
 
 	/* XXX always send arp request */
 
@@ -53,13 +54,13 @@
 	NetArpWaitPacketMAC = mac;
 
 	pkt = NetArpWaitTxPacket;
-	pkt += NetSetEther(pkt, mac, PROT_IP);
+	eth_hdr_size = NetSetEther(pkt, mac, PROT_IP);
+	pkt += eth_hdr_size;
 
 	set_icmp_header(pkt, NetPingIP);
 
 	/* size of the waiting packet */
-	NetArpWaitTxPacketSize =
-		(pkt - NetArpWaitTxPacket) + IP_HDR_SIZE + 8;
+	NetArpWaitTxPacketSize = eth_hdr_size + IP_ICMP_HDR_SIZE;
 
 	/* and do the ARP request */
 	NetArpWaitTry = 1;