* [U-Boot] [PATCH] net: Make sure IPaddr_t is 32 bits in size
@ 2011-12-02 16:26 Matthias Weisser
2011-12-02 16:47 ` Mike Frysinger
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Matthias Weisser @ 2011-12-02 16:26 UTC (permalink / raw)
To: u-boot
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(-)
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,
--
1.7.5.4
^ permalink raw reply related [flat|nested] 5+ messages in thread* [U-Boot] [PATCH] net: Make sure IPaddr_t is 32 bits in size
2011-12-02 16:26 [U-Boot] [PATCH] net: Make sure IPaddr_t is 32 bits in size Matthias Weisser
@ 2011-12-02 16:47 ` Mike Frysinger
2011-12-02 16:48 ` Mike Frysinger
2011-12-03 13:29 ` [U-Boot] [PATCH V2] " Matthias Weisser
2 siblings, 0 replies; 5+ messages in thread
From: Mike Frysinger @ 2011-12-02 16:47 UTC (permalink / raw)
To: u-boot
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20111202/88ff5f67/attachment.pgp>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] net: Make sure IPaddr_t is 32 bits in size
2011-12-02 16:26 [U-Boot] [PATCH] net: Make sure IPaddr_t is 32 bits in size Matthias Weisser
2011-12-02 16:47 ` Mike Frysinger
@ 2011-12-02 16:48 ` Mike Frysinger
2011-12-03 13:29 ` [U-Boot] [PATCH V2] " Matthias Weisser
2 siblings, 0 replies; 5+ messages in thread
From: Mike Frysinger @ 2011-12-02 16:48 UTC (permalink / raw)
To: u-boot
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20111202/63b3aa26/attachment.pgp>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH V2] net: Make sure IPaddr_t is 32 bits in size
2011-12-02 16:26 [U-Boot] [PATCH] net: Make sure IPaddr_t is 32 bits in size Matthias Weisser
2011-12-02 16:47 ` Mike Frysinger
2011-12-02 16:48 ` Mike Frysinger
@ 2011-12-03 13:29 ` Matthias Weisser
2011-12-06 21:15 ` Wolfgang Denk
2 siblings, 1 reply; 5+ messages in thread
From: Matthias Weisser @ 2011-12-03 13:29 UTC (permalink / raw)
To: u-boot
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 and an IPv4 address is 32 bits in size. 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>
Acked-by: Mike Frysinger <vapier@gentoo.org>
---
Changes in v2:
Added explicit information about 32 bit size of IPv4 addresses in
commit message and source comment.
include/net.h | 3 ++-
net/net.c | 6 +++---
net/nfs.c | 2 +-
net/tftp.c | 2 +-
4 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/include/net.h b/include/net.h
index ad9afbf..fa5d525 100644
--- a/include/net.h
+++ b/include/net.h
@@ -33,7 +33,8 @@
#define PKTALIGN 32
-typedef ulong IPaddr_t;
+/* IPv4 addresses are always 32 bits in size */
+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,
--
1.7.5.4
^ permalink raw reply related [flat|nested] 5+ messages in thread* [U-Boot] [PATCH V2] net: Make sure IPaddr_t is 32 bits in size
2011-12-03 13:29 ` [U-Boot] [PATCH V2] " Matthias Weisser
@ 2011-12-06 21:15 ` Wolfgang Denk
0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Denk @ 2011-12-06 21:15 UTC (permalink / raw)
To: u-boot
Dear Matthias Weisser,
In message <1322918984-9089-1-git-send-email-weisserm@arcor.de> you 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 and an IPv4 address is 32 bits in size. 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>
> Acked-by: Mike Frysinger <vapier@gentoo.org>
> ---
> Changes in v2:
> Added explicit information about 32 bit size of IPv4 addresses in
> commit message and source comment.
>
> include/net.h | 3 ++-
> net/net.c | 6 +++---
> net/nfs.c | 2 +-
> net/tftp.c | 2 +-
> 4 files changed, 7 insertions(+), 6 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The one who says it cannot be done should never interrupt the one who
is doing it.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-12-06 21:15 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-02 16:26 [U-Boot] [PATCH] net: Make sure IPaddr_t is 32 bits in size Matthias Weisser
2011-12-02 16:47 ` Mike Frysinger
2011-12-02 16:48 ` Mike Frysinger
2011-12-03 13:29 ` [U-Boot] [PATCH V2] " Matthias Weisser
2011-12-06 21:15 ` Wolfgang Denk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox