diff options
| -rw-r--r-- | include/net.h | 6 | ||||
| -rw-r--r-- | net/net.c | 2 | ||||
| -rw-r--r-- | net/ping.c | 2 | 
3 files changed, 6 insertions, 4 deletions
| diff --git a/include/net.h b/include/net.h index eeea466d6..fd19c42d1 100644 --- a/include/net.h +++ b/include/net.h @@ -298,7 +298,7 @@ struct arp_hdr {  /* Codes for NOT_REACH */  #define ICMP_NOT_REACH_PORT	3	/* Port unreachable		*/ -typedef struct icmphdr { +struct icmp_hdr {  	uchar		type;  	uchar		code;  	ushort		checksum; @@ -314,8 +314,10 @@ typedef struct icmphdr {  		} frag;  		uchar data[0];  	} un; -} ICMP_t; +}; +#define ICMP_HDR_SIZE		(sizeof(struct icmp_hdr)) +#define IP_ICMP_HDR_SIZE	(IP_HDR_SIZE + ICMP_HDR_SIZE)  /*   * Maximum packet size; used to allocate packet storage. @@ -825,7 +825,7 @@ static inline struct ip_udp_hdr *NetDefragment(struct ip_udp_hdr *ip, int *lenp)  static void receive_icmp(struct ip_udp_hdr *ip, int len,  			IPaddr_t src_ip, struct ethernet_hdr *et)  { -	ICMP_t *icmph = (ICMP_t *)&ip->udp_src; +	struct icmp_hdr *icmph = (struct icmp_hdr *)&ip->udp_src;  	switch (icmph->type) {  	case ICMP_REDIRECT: diff --git a/net/ping.c b/net/ping.c index 04a594cf5..3102521c0 100644 --- a/net/ping.c +++ b/net/ping.c @@ -100,7 +100,7 @@ void ping_start(void)  void ping_receive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len)  { -	ICMP_t *icmph = (ICMP_t *)&(ip->udp_src); +	struct icmp_hdr *icmph = (struct icmp_hdr *)&ip->udp_src;  	IPaddr_t src_ip;  	switch (icmph->type) { |