diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2007-11-05 00:14:42 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2007-11-05 00:14:42 +0000 |
commit | 9e2e5cbe9758fc5b18096d20397ac9599b0b92c7 (patch) | |
tree | f0a14d428be8c564a52a66dff7e81f6783e55122 /nuttx/net/uip/uip-arp.c | |
parent | 38b4fe5327ddfbce402e3413e4c85559ed8daeb9 (diff) |
Fix problem with ARP request message length
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@369 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx/net/uip/uip-arp.c')
-rw-r--r-- | nuttx/net/uip/uip-arp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/nuttx/net/uip/uip-arp.c b/nuttx/net/uip/uip-arp.c index 49bb248790..7a0498c22b 100644 --- a/nuttx/net/uip/uip-arp.c +++ b/nuttx/net/uip/uip-arp.c @@ -487,7 +487,7 @@ void uip_arp_out(struct uip_driver_s *dev) ETHBUF->type = HTONS(UIP_ETHTYPE_ARP); dev->d_appdata = &dev->d_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN]; - dev->d_len = sizeof(struct arp_hdr); + dev->d_len = sizeof(struct arp_hdr) + UIP_LLH_LEN; return; } @@ -495,9 +495,10 @@ void uip_arp_out(struct uip_driver_s *dev) memcpy(ETHBUF->dest, tabptr->at_ethaddr.addr, IFHWADDRLEN); } - memcpy(ETHBUF->src, dev->d_mac.addr, IFHWADDRLEN); - ETHBUF->type = HTONS(UIP_ETHTYPE_IP); + /* Finish populating the ethernet header */ - dev->d_len += sizeof(struct uip_eth_hdr); + memcpy(ETHBUF->src, dev->d_mac.addr, IFHWADDRLEN); + ETHBUF->type = HTONS(UIP_ETHTYPE_IP); + dev->d_len += UIP_LLH_LEN; } |