LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

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

To: Vince Busam <vbusam@xxxxxxxxxx>
Subject: [patch] ipvsadm: use strtoul to convert ip addresses from hex
Cc: Julius Volz <juliusv@xxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx, lvs-devel@xxxxxxxxxxxxxxx
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Wed, 20 Aug 2008 15:44:16 +1000
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@xxxxxxxxxxxx>

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)))
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>