[patch] ipvsadm: use strtoul to convert ip addresses from hex

Previous thread: Re: HPET regression in 2.6.26 versus 2.6.25 -- found another user with the same regression by David Witbrodt on Tuesday, August 19, 2008 - 9:51 pm. (7 messages)

Next thread: by Kuba Konczyk on Wednesday, August 20, 2008 - 12:23 am. (1 message)
From: Simon Horman
Date: Tuesday, August 19, 2008 - 10:44 pm

The ip addresses that come out of /proc/net/ip_vs_conn as integers
are in hex not decimal.

Without this change most IP addresses reported as integers end up being
0.0.0.0.

This change is against the development code ipvsadm-1.25-nl-4 from
http://sixpak.org/vince/google/ipvsadm/ . It is not relevant to
ipvsadm-1.24, the current released version.

Signed-off-by: Simon Horman <horms@verge.net.au>

Index: ipvsadm-1.25-nl-4/ipvsadm.c
===================================================================
--- ipvsadm-1.25-nl-4.orig/ipvsadm.c	2008-08-20 15:16:18.000000000 +1000
+++ ipvsadm-1.25-nl-4/ipvsadm.c	2008-08-20 15:16:39.000000000 +1000
@@ -1212,9 +1212,9 @@ static void print_conn(char *buf, unsign
 		inet_pton(AF_INET, temp2, &vaddr.ip);
 		inet_pton(AF_INET, temp3, &daddr.ip);
 	} else {
-		caddr.ip = (__u32) htonl(atoi(temp1));
-		vaddr.ip = (__u32) htonl(atoi(temp2));
-		daddr.ip = (__u32) htonl(atoi(temp3));
+		caddr.ip = (__u32) htonl(strtoul(temp1, NULL, 16));
+		vaddr.ip = (__u32) htonl(strtoul(temp2, NULL, 16));
+		daddr.ip = (__u32) htonl(strtoul(temp3, NULL, 16));
 	}
 
 	if (!(cname = addrport_to_anyname(af, &caddr, cport, proto, format)))
--

From: Julius Volz
Date: Wednesday, August 20, 2008 - 3:30 am

Thanks for this fix! I'm sure Vince will release a new version with
this once there is sunlight in his timezone :)

Do you think it'll make sense to host the new ipvsadm on
linuxvirtualserver.org (marked as experimental, of course) when the
Netlink patches go in? This seems more open than hosting it on our
private servers...

Julius

-- 
Google Switzerland GmbH
--

From: Vince Busam
Date: Wednesday, August 20, 2008 - 10:46 am

A new version, which also fixes a bug in sorting IPv6 addresses, is up 
at http://sixpak.org/vince/google/ipvsadm/

Vince
--

From: Simon Horman
Date: Wednesday, August 20, 2008 - 5:48 pm

Thanks. That does fix the 0.0.0.0 problem that I was seeing.


--

From: Simon Horman
Date: Wednesday, August 20, 2008 - 5:05 pm

I think that either hosting it on linuxvirtualserver.org or kernel.org
would be a good idea. Wensong what do you think?

--

Previous thread: Re: HPET regression in 2.6.26 versus 2.6.25 -- found another user with the same regression by David Witbrodt on Tuesday, August 19, 2008 - 9:51 pm. (7 messages)

Next thread: by Kuba Konczyk on Wednesday, August 20, 2008 - 12:23 am. (1 message)