From 188fe16d52260cfa870c77d5eb4c8c1b7ff9eeb9 Mon Sep 17 00:00:00 2001 From: "Ruben S. Montero" Date: Sat, 2 Mar 2013 00:44:45 +0100 Subject: [PATCH] feature #471: Fix IP6 prefix generation --- src/vnm/Leases.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vnm/Leases.cc b/src/vnm/Leases.cc index a833d09b14..1ad140a73c 100644 --- a/src/vnm/Leases.cc +++ b/src/vnm/Leases.cc @@ -177,7 +177,7 @@ int Leases::Lease::mac_to_number(const string& _mac, unsigned int i_mac[]) int Leases::Lease::prefix6_to_number(const string& prefix, unsigned int ip[]) { struct in6_addr s6; - ostringstream oss(prefix); + ostringstream oss; if (prefix.empty()) { @@ -185,7 +185,7 @@ int Leases::Lease::prefix6_to_number(const string& prefix, unsigned int ip[]) return 0; } - oss << ":0:0:0:1"; + oss << prefix << ":0:0:0:1"; int rc = inet_pton(AF_INET6, oss.str().c_str(), &s6); @@ -194,8 +194,8 @@ int Leases::Lease::prefix6_to_number(const string& prefix, unsigned int ip[]) return -1; } - ip[1] = s6.s6_addr32[0]; - ip[0] = s6.s6_addr32[1]; + ip[1] = ntohl(s6.s6_addr32[0]); + ip[0] = ntohl(s6.s6_addr32[1]); return 0; }