Patch for IPv6 netmask from John Hay
authorAndreas Tonnesen <andreto@olsr.org>
Mon, 2 Oct 2006 08:37:17 +0000 (08:37 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Mon, 2 Oct 2006 08:37:17 +0000 (08:37 +0000)
src/net_olsr.c

index 48b365e..0c39e05 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: net_olsr.c,v 1.13 2006/01/10 20:49:01 kattemat Exp $
+ * $Id: net_olsr.c,v 1.14 2006/10/02 08:37:17 kattemat Exp $
  */
 
 #include "net_olsr.h"
@@ -761,7 +761,7 @@ olsr_prefix_to_netmask(union olsr_ip_addr *adr, olsr_u16_t prefix)
 
   for(;p > 0; p -= 8)
     {
-      adr->v6.s6_addr[i] = (p < 8) ? 0xff ^ (0xff << p) : 0xff;
+      adr->v6.s6_addr[i] = (p < 8) ? 0xff ^ (0xff >> p) : 0xff;
       i++;
     }
 
@@ -799,7 +799,7 @@ olsr_netmask_to_prefix(union olsr_ip_addr *adr)
        {
          for(tmp = adr->v6.s6_addr[i];
              tmp > 0;
-             tmp = tmp >> 1)
+             tmp = (tmp << 1) & 0xff)
            prefix++;
        }
     }