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
|