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>
This commit is contained in:
Joe Hershberger 2012-05-23 07:59:09 +00:00
parent 9214637a56
commit 00f33268ab
3 changed files with 16 additions and 10 deletions

View file

@ -42,6 +42,7 @@ static int ping_send(void)
{
static uchar mac[6];
uchar *pkt;
int eth_hdr_size;
/* XXX always send arp request */
@ -53,13 +54,13 @@ static int ping_send(void)
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;