- remove compiler warning

git-svn-id: http://moon:8086/svn/mips@208 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
2021-11-24 06:22:03 +00:00
parent 453468e10d
commit 6c957b9e84
3 changed files with 10 additions and 9 deletions
+2 -2
View File
@@ -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));
+7 -6
View File
@@ -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;
+1 -1
View File
@@ -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);
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------