- remove compiler warning
git-svn-id: http://moon:8086/svn/mips@208 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
@@ -29,8 +29,8 @@ void ICMPSendRequest(packet_t *pPacket, uint8_t *inet_addr_src, uint8_t *inet_ad
|
|||||||
pICMP->data_hdr[0]= 0x00; // Identifier
|
pICMP->data_hdr[0]= 0x00; // Identifier
|
||||||
pICMP->data_hdr[1]= 0x00; // Sequence number
|
pICMP->data_hdr[1]= 0x00; // Sequence number
|
||||||
|
|
||||||
sum = IPv4ChkSum((uint16_t*)pICMP, 0, sizeof(ICMP));
|
sum = IPv4ChkSum(pICMP, 0, sizeof(ICMP));
|
||||||
sum = IPv4ChkSum((uint16_t*)icmp_payload, sum, len);
|
sum = IPv4ChkSum(icmp_payload, sum, len);
|
||||||
pICMP->hdr_chksum = ~sum;
|
pICMP->hdr_chksum = ~sum;
|
||||||
|
|
||||||
pData = (uint8_t*)Eth_pkt_append(pPacket, sizeof(ICMP));
|
pData = (uint8_t*)Eth_pkt_append(pPacket, sizeof(ICMP));
|
||||||
|
|||||||
@@ -41,23 +41,24 @@ uint8_t *IPV4_create(packet_t *pPacket, uint16_t proto, uint16_t len, uint8_t *i
|
|||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
uint16_t IPv4ChkSum(uint16_t *pBuf, uint16_t acc, uint16_t len)
|
uint16_t IPv4ChkSum(void *pBuf, uint16_t acc, uint16_t len)
|
||||||
{
|
{
|
||||||
|
uint16_t *pBuf16 = (uint16_t*)pBuf;
|
||||||
while(len > 1)
|
while(len > 1)
|
||||||
{
|
{
|
||||||
acc += *pBuf;
|
acc += *pBuf16;
|
||||||
if(acc < *pBuf)
|
if(acc < *pBuf16)
|
||||||
acc++;
|
acc++;
|
||||||
|
|
||||||
++pBuf;
|
++pBuf16;
|
||||||
len -= 2;
|
len -= 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add up any odd byte */
|
/* add up any odd byte */
|
||||||
if(len == 1)
|
if(len == 1)
|
||||||
{
|
{
|
||||||
acc += htons(((uint16_t)(*(uint8_t *)pBuf)) << 8);
|
acc += htons(((uint16_t)(*(uint8_t *)pBuf16)) << 8);
|
||||||
if(acc < htons(((uint16_t)(*(uint8_t *)pBuf)) << 8))
|
if(acc < htons(((uint16_t)(*(uint8_t *)pBuf16)) << 8))
|
||||||
acc++;
|
acc++;
|
||||||
}
|
}
|
||||||
return acc;
|
return acc;
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ typedef struct _sIPV4
|
|||||||
#define IPV4_PRECENCE_ROUTINE 0x00 // 000 - Routine
|
#define IPV4_PRECENCE_ROUTINE 0x00 // 000 - Routine
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
uint16_t IPv4ChkSum(uint16_t *pBuf, uint16_t acc, uint16_t len);
|
uint16_t IPv4ChkSum(void *pBuf, uint16_t acc, uint16_t len);
|
||||||
uint8_t *IPV4_create(packet_t *pPacket, uint16_t proto, uint16_t len, uint8_t *inet_addr_src, uint8_t *inet_addr_dst);
|
uint8_t *IPV4_create(packet_t *pPacket, uint16_t proto, uint16_t len, uint8_t *inet_addr_src, uint8_t *inet_addr_dst);
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user