RE: [PATCH 09/17] Tools: hv: Represent the ipv6 mask using CIDR notation
From: KY Srinivasan <kys@microsoft.com>
Date: 2012-07-24 16:55:32
Also in:
lkml, netdev
-----Original Message----- From: Borislav Petkov [mailto:bp@alien8.de] Sent: Tuesday, July 24, 2012 12:01 PM To: KY Srinivasan Cc: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; devel@linuxdriverproject.org; virtualization@lists.osdl.org; olaf@aepfle.de; apw@canonical.com; netdev@vger.kernel.org; ben@decadent.org.uk Subject: Re: [PATCH 09/17] Tools: hv: Represent the ipv6 mask using CIDR notation On Tue, Jul 24, 2012 at 09:01:33AM -0700, K. Y. Srinivasan wrote:quoted
Transform ipv6 subnet information to CIDR notation. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com> --- tools/hv/hv_kvp_daemon.c | 45+++++++++++++++++++++++++++++++++++----------quoted
1 files changed, 35 insertions(+), 10 deletions(-)diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c index 2c24ebf..007e698 100644 --- a/tools/hv/hv_kvp_daemon.c +++ b/tools/hv/hv_kvp_daemon.c@@ -491,6 +491,15 @@ done: return; } +static unsigned int hweight32(unsigned int *w) +{ + unsigned int res = *w - ((*w >> 1) & 0x55555555); + res = (res & 0x33333333) + ((res >> 2) & 0x33333333); + res = (res + (res >> 4)) & 0x0F0F0F0F; + res = res + (res >> 8); + return (res + (res >> 16)) & 0x000000FF; +}What's wrong with the hweight32 version we have already in <include/asm-generic/bitops/const_hweight.h> which you can include by simply by including <asm-generic/bitops.h>?
Boris, This code is a user-level daemon that will be compiled outside of the kernel. I did not want to include Kernel header files for this one function and deal with all the dependencies that will have to be dealt with. Regards, K. Y