Add OLSR support for NIIT (IP 4to6 tunnel device)
[olsrd.git] / src / ipcalc.h
index a5f8750..dde66f0 100644 (file)
@@ -166,6 +166,17 @@ prefix_to_netmask4(uint8_t prefixlen)
   return prefixlen == 0 ? 0 : (~0U << (32 - prefixlen));
 }
 
+static INLINE bool
+olsr_is_niit_ip(const union olsr_ip_addr *ip) {
+  return olsr_cnf->ip_version == AF_INET6 && IN6_IS_ADDR_V4MAPPED(&ip->v6);
+}
+
+static INLINE union olsr_ip_addr *
+olsr_ipv6_to_ipv4(const union olsr_ip_addr *ipv6, union olsr_ip_addr *ipv4) {
+  memcpy(&ipv4->v4, &ipv6->v6.s6_addr[12], sizeof(ipv4->v4));
+  return ipv4;
+}
+
 #endif
 
 /*