Un-typedef IP_t, Ethernet_t, VLAN_Ethernet_t, ARP_t, ICMP_t Rename IP header related things to IP_UDP The existing definition of IP_t includes UDP header, so name it to accurately describe the structure
Signed-off-by: Joe Hershberger <joe.hershber...@ni.com> Cc: Joe Hershberger <joe.hershber...@gmail.com> Cc: Wolfgang Denk <w...@denx.de> --- arch/powerpc/cpu/mpc8260/ether_fcc.c | 10 ++-- drivers/net/netconsole.c | 4 +- include/net.h | 30 ++++++----- net/arp.c | 12 ++-- net/arp.h | 2 +- net/bootp.c | 8 ++-- net/bootp.h | 2 +- net/cdp.c | 4 +- net/dns.c | 2 +- net/net.c | 87 +++++++++++++++++---------------- net/nfs.c | 2 +- net/ping.c | 18 ++++---- net/ping.h | 2 +- net/rarp.c | 10 ++-- net/rarp.h | 2 +- net/sntp.c | 2 +- net/tftp.c | 2 +- 17 files changed, 102 insertions(+), 97 deletions(-) diff --git a/arch/powerpc/cpu/mpc8260/ether_fcc.c b/arch/powerpc/cpu/mpc8260/ether_fcc.c index 879ec0e..f59d9e1 100644 --- a/arch/powerpc/cpu/mpc8260/ether_fcc.c +++ b/arch/powerpc/cpu/mpc8260/ether_fcc.c @@ -1049,11 +1049,11 @@ eth_loopback_test (void) } else { ushort datlen = bdp->cbd_datlen; - Ethernet_t *ehp; + struct Ethernet_t *ehp; ushort prot; int ours, tb, n, nbytes; - ehp = (Ethernet_t *) \ + ehp = (struct Ethernet_t *) \ &ecp->rxbufs[i][0]; ours = memcmp (ehp->et_src, \ @@ -1064,9 +1064,9 @@ eth_loopback_test (void) n = prot & 0x7fff; nbytes = ELBT_BUFSZ - \ - offsetof (Ethernet_t, \ - et_dsap) - \ - ELBT_CRCSZ; + offsetof( + struct Ethernet_t, \ + et_dsap) - ELBT_CRCSZ; /* check the frame is correct */ if (datlen != ELBT_BUFSZ) diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 7acd5b0..ba02fd7 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -69,7 +69,7 @@ void NcStart(void) /* send arp request */ uchar *pkt; NetSetHandler(nc_wait_arp_handler); - pkt = (uchar *)NetTxPacket + NetEthHdrSize() + IP_HDR_SIZE; + pkt = (uchar *)NetTxPacket + NetEthHdrSize() + IP_UDP_HDR_SIZE; memcpy(pkt, output_packet, output_packet_len); NetSendUDPPacket(nc_ether, nc_ip, nc_port, nc_port, output_packet_len); @@ -131,7 +131,7 @@ static void nc_send_packet(const char *buf, int len) return; inited = 1; } - pkt = (uchar *)NetTxPacket + NetEthHdrSize() + IP_HDR_SIZE; + pkt = (uchar *)NetTxPacket + NetEthHdrSize() + IP_UDP_HDR_SIZE; memcpy(pkt, buf, len); ether = nc_ether; ip = nc_ip; diff --git a/include/net.h b/include/net.h index 2d00233..9de1181 100644 --- a/include/net.h +++ b/include/net.h @@ -155,7 +155,7 @@ u32 ether_crc(size_t len, unsigned char const *p); /* * Ethernet header */ -typedef struct { +struct Ethernet_t { uchar et_dest[6]; /* Destination node */ uchar et_src[6]; /* Source node */ ushort et_protlen; /* Protocol or length */ @@ -166,7 +166,7 @@ typedef struct { uchar et_snap2; uchar et_snap3; ushort et_prot; /* 802 protocol */ -} Ethernet_t; +}; #define ETHER_HDR_SIZE 14 /* Ethernet header size */ #define E802_HDR_SIZE 22 /* 802 ethernet header size */ @@ -174,13 +174,13 @@ typedef struct { /* * Ethernet header */ -typedef struct { +struct VLAN_Ethernet_t { uchar vet_dest[6]; /* Destination node */ uchar vet_src[6]; /* Source node */ ushort vet_vlan_type; /* PROT_VLAN */ ushort vet_tag; /* TAG of VLAN */ ushort vet_type; /* protocol type */ -} VLAN_Ethernet_t; +}; #define VLAN_ETHER_HDR_SIZE 18 /* VLAN Ethernet header size */ @@ -193,9 +193,9 @@ typedef struct { #define IPPROTO_UDP 17 /* User Datagram Protocol */ /* - * Internet Protocol (IP) header. + * Internet Protocol (IP) + UDP header. */ -typedef struct { +struct IP_UDP_t { uchar ip_hl_v; /* header length and version */ uchar ip_tos; /* type of service */ ushort ip_len; /* total length */ @@ -210,7 +210,7 @@ typedef struct { ushort udp_dst; /* UDP destination port */ ushort udp_len; /* Length of UDP packet */ ushort udp_xsum; /* Checksum */ -} IP_t; +}; #define IP_OFFS 0x1fff /* ip offset *= 8 */ #define IP_FLAGS 0xe000 /* first 3 bits */ @@ -218,15 +218,15 @@ typedef struct { #define IP_FLAGS_DFRAG 0x4000 /* don't fragments */ #define IP_FLAGS_MFRAG 0x2000 /* more fragments */ -#define IP_HDR_SIZE_NO_UDP (sizeof(IP_t) - 8) -#define IP_HDR_SIZE (sizeof(IP_t)) +#define UDP_HDR_SIZE (sizeof(ushort) * 4) +#define IP_HDR_SIZE (sizeof(struct IP_UDP_t) - UDP_HDR_SIZE) +#define IP_UDP_HDR_SIZE (sizeof(struct IP_UDP_t)) /* * Address Resolution Protocol (ARP) header. */ -typedef struct -{ +struct ARP_t { ushort ar_hrd; /* Format of hardware address */ # define ARP_ETHER 1 /* Ethernet hardware address */ ushort ar_pro; /* Format of protocol address */ @@ -251,7 +251,7 @@ typedef struct uchar ar_tha[]; /* Target hardware address */ uchar ar_tpa[]; /* Target protocol address */ #endif /* 0 */ -} ARP_t; +}; #define ARP_HDR_SIZE (8+20) /* Size assuming ethernet */ @@ -270,7 +270,7 @@ typedef struct /* Codes for NOT_REACH */ #define ICMP_NOT_REACH_PORT 3 /* Port unreachable */ -typedef struct icmphdr { +struct ICMP_t { uchar type; uchar code; ushort checksum; @@ -286,8 +286,10 @@ typedef struct icmphdr { } frag; uchar data[0]; } un; -} ICMP_t; +}; +#define ICMP_HDR_SIZE (sizeof(struct ICMP_t)) +#define IP_ICMP_HDR_SIZE (IP_HDR_SIZE + ICMP_HDR_SIZE) /* * Maximum packet size; used to allocate packet storage. diff --git a/net/arp.c b/net/arp.c index f75217c..96ffb85 100644 --- a/net/arp.c +++ b/net/arp.c @@ -51,7 +51,7 @@ void ArpInit(void) void ArpRequest(void) { uchar *pkt; - ARP_t *arp; + struct ARP_t *arp; debug("ARP broadcast %d\n", NetArpWaitTry); @@ -59,7 +59,7 @@ void ArpRequest(void) pkt += NetSetEther(pkt, NetBcastAddr, PROT_ARP); - arp = (ARP_t *) pkt; + arp = (struct ARP_t *) pkt; arp->ar_hrd = htons(ARP_ETHER); arp->ar_pro = htons(PROT_IP); @@ -113,9 +113,9 @@ void ArpTimeoutCheck(void) } } -void ArpReceive(Ethernet_t *et, IP_t *ip, int len) +void ArpReceive(struct Ethernet_t *et, struct IP_UDP_t *ip, int len) { - ARP_t *arp; + struct ARP_t *arp; IPaddr_t tmp; uchar *pkt; @@ -130,7 +130,7 @@ void ArpReceive(Ethernet_t *et, IP_t *ip, int len) */ debug("Got ARP\n"); - arp = (ARP_t *)ip; + arp = (struct ARP_t *)ip; if (len < ARP_HDR_SIZE) { printf("bad length %d < %d\n", len, ARP_HDR_SIZE); return; @@ -193,7 +193,7 @@ void ArpReceive(Ethernet_t *et, IP_t *ip, int len) NetGetHandler()(0, 0, 0, 0, 0); #endif /* modify header, and transmit it */ - memcpy(((Ethernet_t *)NetArpWaitTxPacket)-> + memcpy(((struct Ethernet_t *)NetArpWaitTxPacket)-> et_dest, NetArpWaitPacketMAC, 6); (void) eth_send(NetArpWaitTxPacket, NetArpWaitTxPacketSize); diff --git a/net/arp.h b/net/arp.h index 09c763d..d9ce03d 100644 --- a/net/arp.h +++ b/net/arp.h @@ -25,6 +25,6 @@ extern int NetArpWaitTry; void ArpInit(void); void ArpRequest(void); void ArpTimeoutCheck(void); -void ArpReceive(Ethernet_t *et, IP_t *ip, int len); +void ArpReceive(struct Ethernet_t *et, struct IP_UDP_t *ip, int len); #endif /* __ARP_H__ */ diff --git a/net/bootp.c b/net/bootp.c index 9824cd1..e95419f 100644 --- a/net/bootp.c +++ b/net/bootp.c @@ -105,7 +105,7 @@ static void BootpCopyNetParams(struct Bootp_t *bp) NetCopyIP(&tmp_ip, &bp->bp_siaddr); if (tmp_ip != 0) NetCopyIP(&NetServerIP, &bp->bp_siaddr); - memcpy(NetServerEther, ((Ethernet_t *)NetRxPacket)->et_src, 6); + memcpy(NetServerEther, ((struct Ethernet_t *)NetRxPacket)->et_src, 6); #endif if (strlen(bp->bp_file) > 0) copy_filename(BootFile, bp->bp_file, sizeof(BootFile)); @@ -621,8 +621,8 @@ BootpRequest(void) */ /* NetSetIP(pkt, 0xFFFFFFFFL, PORT_BOOTPS, PORT_BOOTPC, sizeof (struct Bootp_t)); */ - iphdr = pkt; /* We need this later for NetSetIP() */ - pkt += IP_HDR_SIZE; + iphdr = pkt; /* We need this later for NetSetUDPHeader() */ + pkt += IP_UDP_HDR_SIZE; bp = (struct Bootp_t *)pkt; bp->bp_op = OP_BOOTREQUEST; @@ -807,7 +807,7 @@ static void DhcpSendRequestPkt(struct Bootp_t *bp_offer) pkt += NetSetEther(pkt, NetBcastAddr, PROT_IP); iphdr = pkt; /* We'll need this later to set proper pkt size */ - pkt += IP_HDR_SIZE; + pkt += IP_UDP_HDR_SIZE; bp = (struct Bootp_t *)pkt; bp->bp_op = OP_BOOTREQUEST; diff --git a/net/bootp.h b/net/bootp.h index bf4e875..1cf9a02 100644 --- a/net/bootp.h +++ b/net/bootp.h @@ -52,7 +52,7 @@ struct Bootp_t { }; #define BOOTP_HDR_SIZE sizeof(struct Bootp_t) -#define BOOTP_SIZE (ETHER_HDR_SIZE + IP_HDR_SIZE + BOOTP_HDR_SIZE) +#define BOOTP_SIZE (ETHER_HDR_SIZE + IP_UDP_HDR_SIZE + BOOTP_HDR_SIZE) /**********************************************************************/ /* diff --git a/net/cdp.c b/net/cdp.c index c5e54b2..d617f18 100644 --- a/net/cdp.c +++ b/net/cdp.c @@ -108,7 +108,7 @@ CDPSendTrigger(void) uchar *pkt; ushort *s; ushort *cp; - Ethernet_t *et; + struct Ethernet_t *et; int len; ushort chksum; #if defined(CONFIG_CDP_DEVICE_ID) || defined(CONFIG_CDP_PORT_ID) || \ @@ -117,7 +117,7 @@ CDPSendTrigger(void) #endif pkt = NetTxPacket; - et = (Ethernet_t *)pkt; + et = (struct Ethernet_t *)pkt; /* NOTE: trigger sent not on any VLAN */ diff --git a/net/dns.c b/net/dns.c index 7a3f1f9..cc7ed51 100644 --- a/net/dns.c +++ b/net/dns.c @@ -45,7 +45,7 @@ DnsSend(void) enum dns_query_type qtype = DNS_A_RECORD; name = NetDNSResolve; - pkt = p = (uchar *)(NetTxPacket + NetEthHdrSize() + IP_HDR_SIZE); + pkt = p = (uchar *)(NetTxPacket + NetEthHdrSize() + IP_UDP_HDR_SIZE); /* Prepare DNS packet header */ header = (struct header *) pkt; diff --git a/net/net.c b/net/net.c index fdc1ebe..023802d 100644 --- a/net/net.c +++ b/net/net.c @@ -625,12 +625,13 @@ NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len) pkt += NetSetEther(pkt, NetArpWaitPacketMAC, PROT_IP); NetSetIP(pkt, dest, dport, sport, len); - memcpy(pkt + IP_HDR_SIZE, (uchar *)NetTxPacket + - (pkt - (uchar *)NetArpWaitTxPacket) + IP_HDR_SIZE, len); + memcpy(pkt + IP_UDP_HDR_SIZE, (uchar *)NetTxPacket + + (pkt - (uchar *)NetArpWaitTxPacket) + + IP_UDP_HDR_SIZE, len); /* size of the waiting packet */ NetArpWaitTxPacketSize = (pkt - NetArpWaitTxPacket) + - IP_HDR_SIZE + len; + IP_UDP_HDR_SIZE + len; /* and do the ARP request */ NetArpWaitTry = 1; @@ -644,7 +645,7 @@ NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len) pkt = (uchar *)NetTxPacket; pkt += NetSetEther(pkt, ether, PROT_IP); NetSetIP(pkt, dest, dport, sport, len); - (void) eth_send(NetTxPacket, (pkt - NetTxPacket) + IP_HDR_SIZE + len); + eth_send(NetTxPacket, (pkt - NetTxPacket) + IP_UDP_HDR_SIZE + len); return 0; /* transmitted */ } @@ -668,7 +669,7 @@ NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len) static struct rpc_t rpc_specimen; #define IP_PKTSIZE (CONFIG_NET_MAXDEFRAG + sizeof(rpc_specimen.u.reply)) -#define IP_MAXUDP (IP_PKTSIZE - IP_HDR_SIZE_NO_UDP) +#define IP_MAXUDP (IP_PKTSIZE - IP_HDR_SIZE) /* * this is the packet being assembled, either data or frag control. @@ -682,22 +683,22 @@ struct hole { u16 unused; }; -static IP_t *__NetDefragment(IP_t *ip, int *lenp) +static struct IP_UDP_t *__NetDefragment(struct IP_UDP_t *ip, int *lenp) { static uchar pkt_buff[IP_PKTSIZE] __attribute__((aligned(PKTALIGN))); static u16 first_hole, total_len; struct hole *payload, *thisfrag, *h, *newh; - IP_t *localip = (IP_t *)pkt_buff; + struct IP_UDP_t *localip = (struct IP_UDP_t *)pkt_buff; uchar *indata = (uchar *)ip; int offset8, start, len, done = 0; u16 ip_off = ntohs(ip->ip_off); /* payload starts after IP header, this fragment is in there */ - payload = (struct hole *)(pkt_buff + IP_HDR_SIZE_NO_UDP); + payload = (struct hole *)(pkt_buff + IP_HDR_SIZE); offset8 = (ip_off & IP_OFFS); thisfrag = payload + offset8; start = offset8 * 8; - len = ntohs(ip->ip_len) - IP_HDR_SIZE_NO_UDP; + len = ntohs(ip->ip_len) - IP_HDR_SIZE; if (start + len > IP_MAXUDP) /* fragment extends too far */ return NULL; @@ -710,7 +711,7 @@ static IP_t *__NetDefragment(IP_t *ip, int *lenp) payload[0].prev_hole = 0; first_hole = 0; /* any IP header will work, copy the first we received */ - memcpy(localip, ip, IP_HDR_SIZE_NO_UDP); + memcpy(localip, ip, IP_HDR_SIZE); } /* @@ -793,16 +794,16 @@ static IP_t *__NetDefragment(IP_t *ip, int *lenp) } /* finally copy this fragment and possibly return whole packet */ - memcpy((uchar *)thisfrag, indata + IP_HDR_SIZE_NO_UDP, len); + memcpy((uchar *)thisfrag, indata + IP_HDR_SIZE, len); if (!done) return NULL; localip->ip_len = htons(total_len); - *lenp = total_len + IP_HDR_SIZE_NO_UDP; + *lenp = total_len + IP_HDR_SIZE; return localip; } -static inline IP_t *NetDefragment(IP_t *ip, int *lenp) +static inline struct IP_UDP_t *NetDefragment(struct IP_UDP_t *ip, int *lenp) { u16 ip_off = ntohs(ip->ip_off); if (!(ip_off & (IP_OFFS | IP_FLAGS_MFRAG))) @@ -812,7 +813,7 @@ static inline IP_t *NetDefragment(IP_t *ip, int *lenp) #else /* !CONFIG_IP_DEFRAG */ -static inline IP_t *NetDefragment(IP_t *ip, int *lenp) +static inline struct IP_UDP_t *NetDefragment(struct IP_UDP_t *ip, int *lenp) { u16 ip_off = ntohs(ip->ip_off); if (!(ip_off & (IP_OFFS | IP_FLAGS_MFRAG))) @@ -827,9 +828,10 @@ static inline IP_t *NetDefragment(IP_t *ip, int *lenp) * * @parma ip IP packet containing the ICMP */ -static void receive_icmp(IP_t *ip, int len, IPaddr_t src_ip, Ethernet_t *et) +static void receive_icmp(struct IP_UDP_t *ip, int len, + IPaddr_t src_ip, struct Ethernet_t *et) { - ICMP_t *icmph = (ICMP_t *)&ip->udp_src; + struct ICMP_t *icmph = (struct ICMP_t *)&(ip->udp_src); switch (icmph->type) { case ICMP_REDIRECT: @@ -855,8 +857,8 @@ static void receive_icmp(IP_t *ip, int len, IPaddr_t src_ip, Ethernet_t *et) void NetReceive(volatile uchar *inpkt, int len) { - Ethernet_t *et; - IP_t *ip; + struct Ethernet_t *et; + struct IP_UDP_t *ip; IPaddr_t tmp; IPaddr_t src_ip; int x; @@ -869,7 +871,7 @@ NetReceive(volatile uchar *inpkt, int len) NetRxPacket = (uchar *)inpkt; NetRxPacketLen = len; - et = (Ethernet_t *)NetRxPacket; + et = (struct Ethernet_t *)NetRxPacket; /* too small packet? */ if (len < ETHER_HDR_SIZE) @@ -904,15 +906,15 @@ NetReceive(volatile uchar *inpkt, int len) */ x = ntohs(et->et_prot); - ip = (IP_t *)(NetRxPacket + E802_HDR_SIZE); + ip = (struct IP_UDP_t *)(NetRxPacket + E802_HDR_SIZE); len -= E802_HDR_SIZE; } else if (x != PROT_VLAN) { /* normal packet */ - ip = (IP_t *)(NetRxPacket + ETHER_HDR_SIZE); + ip = (struct IP_UDP_t *)(NetRxPacket + ETHER_HDR_SIZE); len -= ETHER_HDR_SIZE; } else { /* VLAN packet */ - VLAN_Ethernet_t *vet = (VLAN_Ethernet_t *)et; + struct VLAN_Ethernet_t *vet = (struct VLAN_Ethernet_t *)et; debug("VLAN packet received\n"); @@ -932,7 +934,7 @@ NetReceive(volatile uchar *inpkt, int len) vlanid = cti & VLAN_IDMASK; x = ntohs(vet->vet_type); - ip = (IP_t *)(NetRxPacket + VLAN_ETHER_HDR_SIZE); + ip = (struct IP_UDP_t *)(NetRxPacket + VLAN_ETHER_HDR_SIZE); len -= VLAN_ETHER_HDR_SIZE; } @@ -967,8 +969,9 @@ NetReceive(volatile uchar *inpkt, int len) case PROT_IP: debug("Got IP\n"); /* Before we start poking the header, make sure it is there */ - if (len < IP_HDR_SIZE) { - debug("len bad %d < %lu\n", len, (ulong)IP_HDR_SIZE); + if (len < IP_UDP_HDR_SIZE) { + debug("len bad %d < %lu\n", len, + (ulong)IP_UDP_HDR_SIZE); return; } /* Check the packet length */ @@ -986,7 +989,7 @@ NetReceive(volatile uchar *inpkt, int len) if ((ip->ip_hl_v & 0x0f) > 0x05) return; /* Check the Checksum of the header */ - if (!NetCksumOk((uchar *)ip, IP_HDR_SIZE_NO_UDP / 2)) { + if (!NetCksumOk((uchar *)ip, IP_HDR_SIZE / 2)) { puts("checksum bad\n"); return; } @@ -1080,19 +1083,19 @@ NetReceive(volatile uchar *inpkt, int len) #ifdef CONFIG_NETCONSOLE - nc_input_packet((uchar *)ip + IP_HDR_SIZE, - ntohs(ip->udp_dst), - ntohs(ip->udp_src), - ntohs(ip->udp_len) - 8); + nc_input_packet((uchar *)ip + IP_UDP_HDR_SIZE, + ntohs(ip->udp_dst), + ntohs(ip->udp_src), + ntohs(ip->udp_len) - UDP_HDR_SIZE); #endif /* * IP header OK. Pass the packet to the current handler. */ - (*packetHandler)((uchar *)ip + IP_HDR_SIZE, - ntohs(ip->udp_dst), - src_ip, - ntohs(ip->udp_src), - ntohs(ip->udp_len) - 8); + (*packetHandler)((uchar *)ip + IP_UDP_HDR_SIZE, + ntohs(ip->udp_dst), + src_ip, + ntohs(ip->udp_src), + ntohs(ip->udp_len) - UDP_HDR_SIZE); break; } } @@ -1221,7 +1224,7 @@ NetEthHdrSize(void) int NetSetEther(uchar *xet, uchar * addr, uint prot) { - Ethernet_t *et = (Ethernet_t *)xet; + struct Ethernet_t *et = (struct Ethernet_t *)xet; ushort myvlanid; myvlanid = ntohs(NetOurVLAN); @@ -1234,7 +1237,7 @@ NetSetEther(uchar *xet, uchar * addr, uint prot) et->et_protlen = htons(prot); return ETHER_HDR_SIZE; } else { - VLAN_Ethernet_t *vet = (VLAN_Ethernet_t *)xet; + struct VLAN_Ethernet_t *vet = (struct VLAN_Ethernet_t *)xet; vet->vet_vlan_type = htons(PROT_VLAN); vet->vet_tag = htons((0 << 5) | (myvlanid & VLAN_IDMASK)); @@ -1246,7 +1249,7 @@ NetSetEther(uchar *xet, uchar * addr, uint prot) void NetSetIP(uchar *xip, IPaddr_t dest, int dport, int sport, int len) { - IP_t *ip = (IP_t *)xip; + struct IP_UDP_t *ip = (struct IP_UDP_t *)xip; /* * If the data is an odd number of bytes, zero the @@ -1254,7 +1257,7 @@ NetSetIP(uchar *xip, IPaddr_t dest, int dport, int sport, int len) * will work. */ if (len & 1) - xip[IP_HDR_SIZE + len] = 0; + xip[IP_UDP_HDR_SIZE + len] = 0; /* * Construct an IP and UDP header. @@ -1263,7 +1266,7 @@ NetSetIP(uchar *xip, IPaddr_t dest, int dport, int sport, int len) /* IP_HDR_SIZE / 4 (not including UDP) */ ip->ip_hl_v = 0x45; ip->ip_tos = 0; - ip->ip_len = htons(IP_HDR_SIZE + len); + ip->ip_len = htons(IP_UDP_HDR_SIZE + len); ip->ip_id = htons(NetIPID++); ip->ip_off = htons(IP_FLAGS_DFRAG); /* Don't fragment */ ip->ip_ttl = 255; @@ -1275,9 +1278,9 @@ NetSetIP(uchar *xip, IPaddr_t dest, int dport, int sport, int len) NetCopyIP((void *)&ip->ip_dst, &dest); ip->udp_src = htons(sport); ip->udp_dst = htons(dport); - ip->udp_len = htons(8 + len); + ip->udp_len = htons(UDP_HDR_SIZE + len); ip->udp_xsum = 0; - ip->ip_sum = ~NetCksum((uchar *)ip, IP_HDR_SIZE_NO_UDP / 2); + ip->ip_sum = ~NetCksum((uchar *)ip, IP_HDR_SIZE / 2); } void copy_filename(char *dst, const char *src, int size) diff --git a/net/nfs.c b/net/nfs.c index 54f56c4..b6188fe 100644 --- a/net/nfs.c +++ b/net/nfs.c @@ -189,7 +189,7 @@ rpc_req(int rpc_prog, int rpc_proc, uint32_t *data, int datalen) pktlen = (char *)p + datalen*sizeof(uint32_t) - (char *)&pkt; - memcpy((char *)NetTxPacket + NetEthHdrSize() + IP_HDR_SIZE, + memcpy((char *)NetTxPacket + NetEthHdrSize() + IP_UDP_HDR_SIZE, (char *)&pkt, pktlen); if (rpc_prog == PROG_PORTMAP) diff --git a/net/ping.c b/net/ping.c index 4a66b8d..34e287c 100644 --- a/net/ping.c +++ b/net/ping.c @@ -19,7 +19,7 @@ IPaddr_t NetPingIP; static int PingSend(void) { static uchar mac[6]; - IP_t *ip; + struct IP_UDP_t *ip; ushort *s; uchar *pkt; @@ -35,7 +35,7 @@ static int PingSend(void) pkt = NetArpWaitTxPacket; pkt += NetSetEther(pkt, mac, PROT_IP); - ip = (IP_t *)pkt; + ip = (struct IP_UDP_t *)pkt; /* * Construct an IP and ICMP header. @@ -44,7 +44,7 @@ static int PingSend(void) /* IP_HDR_SIZE / 4 (not including UDP) */ ip->ip_hl_v = 0x45; ip->ip_tos = 0; - ip->ip_len = htons(IP_HDR_SIZE_NO_UDP + 8); + ip->ip_len = htons(IP_HDR_SIZE + 8); ip->ip_id = htons(NetIPID++); ip->ip_off = htons(IP_FLAGS_DFRAG); /* Don't fragment */ ip->ip_ttl = 255; @@ -54,7 +54,7 @@ static int PingSend(void) NetCopyIP((void *)&ip->ip_src, &NetOurIP); /* - "" - */ NetCopyIP((void *)&ip->ip_dst, &NetPingIP); - ip->ip_sum = ~NetCksum((uchar *)ip, IP_HDR_SIZE_NO_UDP / 2); + ip->ip_sum = ~NetCksum((uchar *)ip, IP_HDR_SIZE / 2); s = &ip->udp_src; /* XXX ICMP starts here */ s[0] = htons(0x0800); /* echo-request, code */ @@ -65,7 +65,7 @@ static int PingSend(void) /* size of the waiting packet */ NetArpWaitTxPacketSize = - (pkt - NetArpWaitTxPacket) + IP_HDR_SIZE_NO_UDP + 8; + (pkt - NetArpWaitTxPacket) + IP_HDR_SIZE + 8; /* and do the ARP request */ NetArpWaitTry = 1; @@ -101,9 +101,9 @@ PingStart(void) PingSend(); } -void PingReceive(Ethernet_t *et, IP_t *ip, int len) +void PingReceive(struct Ethernet_t *et, struct IP_UDP_t *ip, int len) { - ICMP_t *icmph = (ICMP_t *)&(ip->udp_src); + struct ICMP_t *icmph = (struct ICMP_t *)&(ip->udp_src); IPaddr_t src_ip; switch (icmph->type) { @@ -128,12 +128,12 @@ void PingReceive(Ethernet_t *et, IP_t *ip, int len) NetCopyIP((void *)&ip->ip_dst, &ip->ip_src); NetCopyIP((void *)&ip->ip_src, &NetOurIP); ip->ip_sum = ~NetCksum((uchar *)ip, - IP_HDR_SIZE_NO_UDP >> 1); + IP_HDR_SIZE >> 1); icmph->type = ICMP_ECHO_REPLY; icmph->checksum = 0; icmph->checksum = ~NetCksum((uchar *)icmph, - (len - IP_HDR_SIZE_NO_UDP) >> 1); + (len - IP_HDR_SIZE) >> 1); (void) eth_send((uchar *)et, ETHER_HDR_SIZE + len); return; diff --git a/net/ping.h b/net/ping.h index 56aad43..4671909 100644 --- a/net/ping.h +++ b/net/ping.h @@ -15,6 +15,6 @@ #include <net.h> void PingStart(void); -void PingReceive(Ethernet_t *et, IP_t *ip, int len); +void PingReceive(struct Ethernet_t *et, struct IP_UDP_t *ip, int len); #endif /* __PING_H__ */ diff --git a/net/rarp.c b/net/rarp.c index 761560c..305b0a4 100644 --- a/net/rarp.c +++ b/net/rarp.c @@ -42,12 +42,12 @@ int RarpTry; * Handle a RARP received packet. */ void -RarpReceive(IP_t *ip, unsigned len) +RarpReceive(struct IP_UDP_t *ip, unsigned len) { - ARP_t *arp; + struct ARP_t *arp; debug("Got RARP\n"); - arp = (ARP_t *)ip; + arp = (struct ARP_t *)ip; if (len < ARP_HDR_SIZE) { printf("bad length %d < %d\n", len, ARP_HDR_SIZE); return; @@ -90,14 +90,14 @@ void RarpRequest(void) { uchar *pkt; - ARP_t *rarp; + struct ARP_t *rarp; printf("RARP broadcast %d\n", ++RarpTry); pkt = NetTxPacket; pkt += NetSetEther(pkt, NetBcastAddr, PROT_RARP); - rarp = (ARP_t *)pkt; + rarp = (struct ARP_t *)pkt; rarp->ar_hrd = htons(ARP_ETHER); rarp->ar_pro = htons(PROT_IP); diff --git a/net/rarp.h b/net/rarp.h index 0d728dc..8723dd3 100644 --- a/net/rarp.h +++ b/net/rarp.h @@ -37,7 +37,7 @@ extern int RarpTry; -extern void RarpReceive(IP_t *ip, unsigned len); +extern void RarpReceive(struct IP_UDP_t *ip, unsigned len); extern void RarpRequest(void); /* Send a RARP request */ /**********************************************************************/ diff --git a/net/sntp.c b/net/sntp.c index 6dd0dbd..7997f98 100644 --- a/net/sntp.c +++ b/net/sntp.c @@ -31,7 +31,7 @@ SntpSend(void) pkt.vn = NTP_VERSION; pkt.mode = NTP_MODE_CLIENT; - memcpy((char *)NetTxPacket + NetEthHdrSize() + IP_HDR_SIZE, + memcpy((char *)NetTxPacket + NetEthHdrSize() + IP_UDP_HDR_SIZE, (char *)&pkt, pktlen); SntpOurPort = 10000 + (get_timer(0) % 4096); diff --git a/net/tftp.c b/net/tftp.c index bc7fe05..a04a832 100644 --- a/net/tftp.c +++ b/net/tftp.c @@ -322,7 +322,7 @@ TftpSend(void) * We will always be sending some sort of packet, so * cobble together the packet headers now. */ - pkt = (uchar *)(NetTxPacket + NetEthHdrSize() + IP_HDR_SIZE); + pkt = NetTxPacket + NetEthHdrSize() + IP_UDP_HDR_SIZE; switch (TftpState) { case STATE_SEND_RRQ: -- 1.6.0.2 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot