diff mbox

[U-Boot] net: Make sure IPaddr_t is 32 bits in size

Message ID 1322843172-20251-1-git-send-email-weisserm@arcor.de
State Superseded
Delegated to: Wolfgang Denk
Headers show

Commit Message

Matthias Weisser Dec. 2, 2011, 4:26 p.m. UTC
When building u-boot as 64 bit application (e.g. sandbox) ulong might be
64 bits in size. This breaks network code as IPaddr_t is 64 bytes in
size then. This patch makes sure that IPaddr_t is always 32 bits in
size. Also some warnings introduced by this patch are fixed.

Signed-off-by: Matthias Weisser <weisserm@arcor.de>
---
 include/net.h |    2 +-
 net/net.c     |    6 +++---
 net/nfs.c     |    2 +-
 net/tftp.c    |    2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

Comments

Mike Frysinger Dec. 2, 2011, 4:47 p.m. UTC | #1
On Friday 02 December 2011 11:26:12 Matthias Weisser wrote:
> When building u-boot as 64 bit application (e.g. sandbox) ulong might be
> 64 bits in size. This breaks network code as IPaddr_t is 64 bytes in
> size then. This patch makes sure that IPaddr_t is always 32 bits in
> size. Also some warnings introduced by this patch are fixed.

Acked-by: Mike Frysinger <vapier@gentoo.org>
-mike
Mike Frysinger Dec. 2, 2011, 4:48 p.m. UTC | #2
On Friday 02 December 2011 11:26:12 Matthias Weisser wrote:
> When building u-boot as 64 bit application (e.g. sandbox) ulong might be
> 64 bits in size. This breaks network code as IPaddr_t is 64 bytes in
> size then. This patch makes sure that IPaddr_t is always 32 bits in
> size. Also some warnings introduced by this patch are fixed.

on 2nd thought, could you clarify why we want it to be 32bits ?  it's because 
that's the size of the address field in an IPv4 packet ...

> --- a/include/net.h
> +++ b/include/net.h
> 
> -typedef ulong		IPaddr_t;
> +typedef u32		IPaddr_t;

and add a comment here too ...
-mike
diff mbox

Patch

diff --git a/include/net.h b/include/net.h
index ad9afbf..9d878e5 100644
--- a/include/net.h
+++ b/include/net.h
@@ -33,7 +33,7 @@ 
 
 #define PKTALIGN	32
 
-typedef ulong		IPaddr_t;
+typedef u32		IPaddr_t;
 
 
 /**
diff --git a/net/net.c b/net/net.c
index d0fe1c4..045405b 100644
--- a/net/net.c
+++ b/net/net.c
@@ -728,7 +728,7 @@  NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len)
 	 */
 	if (memcmp(ether, NetEtherNullAddr, 6) == 0) {
 
-		debug("sending ARP for %08lx\n", dest);
+		debug("sending ARP for %08x\n", dest);
 
 		NetArpWaitPacketIP = dest;
 		NetArpWaitPacketMAC = ether;
@@ -751,7 +751,7 @@  NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len)
 		return 1;	/* waiting */
 	}
 
-	debug("sending UDP to %08lx/%pM\n", dest, ether);
+	debug("sending UDP to %08x/%pM\n", dest, ether);
 
 	pkt = (uchar *)NetTxPacket;
 	pkt += NetSetEther(pkt, ether, PROT_IP);
@@ -775,7 +775,7 @@  int PingSend(void)
 
 	memcpy(mac, NetEtherNullAddr, 6);
 
-	debug("sending ARP for %08lx\n", NetPingIP);
+	debug("sending ARP for %08x\n", NetPingIP);
 
 	NetArpWaitPacketIP = NetPingIP;
 	NetArpWaitPacketMAC = mac;
diff --git a/net/nfs.c b/net/nfs.c
index 5e717e3..b5b482c 100644
--- a/net/nfs.c
+++ b/net/nfs.c
@@ -688,7 +688,7 @@  NfsStart (void)
 	}
 
 	if (BootFile[0] == '\0') {
-		sprintf (default_filename, "/nfsroot/%02lX%02lX%02lX%02lX.img",
+		sprintf(default_filename, "/nfsroot/%02X%02X%02X%02X.img",
 			NetOurIP & 0xFF,
 			(NetOurIP >>  8) & 0xFF,
 			(NetOurIP >> 16) & 0xFF,
diff --git a/net/tftp.c b/net/tftp.c
index 4999707..7aa3e23 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -708,7 +708,7 @@  void TftpStart(enum proto_t protocol)
 
 	TftpRemoteIP = NetServerIP;
 	if (BootFile[0] == '\0') {
-		sprintf(default_filename, "%02lX%02lX%02lX%02lX.img",
+		sprintf(default_filename, "%02X%02X%02X%02X.img",
 			NetOurIP & 0xFF,
 			(NetOurIP >>  8) & 0xFF,
 			(NetOurIP >> 16) & 0xFF,