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

@ -88,11 +88,13 @@ void RarpRequest(void)
{
uchar *pkt;
struct arp_hdr *rarp;
int eth_hdr_size;
printf("RARP broadcast %d\n", ++RarpTry);
pkt = NetTxPacket;
pkt += NetSetEther(pkt, NetBcastAddr, PROT_RARP);
eth_hdr_size = NetSetEther(pkt, NetBcastAddr, PROT_RARP);
pkt += eth_hdr_size;
rarp = (struct arp_hdr *)pkt;
@ -108,7 +110,7 @@ void RarpRequest(void)
/* dest IP addr set to broadcast */
memset(&rarp->ar_data[16], 0xff, 4);
NetSendPacket(NetTxPacket, (pkt - NetTxPacket) + ARP_HDR_SIZE);
NetSendPacket(NetTxPacket, eth_hdr_size + ARP_HDR_SIZE);
NetSetTimeout(TIMEOUT, RarpTimeout);
}