datapath: Check for backported dev_get_by_index_rcu().
[sliver-openvswitch.git] / datapath / linux-2.6 / compat-2.6 / include / linux / in.h
index 2cfe645..f91a832 100644 (file)
@@ -3,14 +3,34 @@
 
 #include_next <linux/in.h>
 
-#include <linux/version.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+#ifndef HAVE_IPV4_IS_MULTICAST
+
+static inline bool ipv4_is_loopback(__be32 addr)
+{
+       return (addr & htonl(0xff000000)) == htonl(0x7f000000);
+}
 
 static inline bool ipv4_is_multicast(__be32 addr)
 {
        return (addr & htonl(0xf0000000)) == htonl(0xe0000000);
 }
 
-#endif /* linux kernel < 2.6.25 */
+static inline bool ipv4_is_local_multicast(__be32 addr)
+{
+       return (addr & htonl(0xffffff00)) == htonl(0xe0000000);
+}
+
+static inline bool ipv4_is_lbcast(__be32 addr)
+{
+       /* limited broadcast */
+       return addr == htonl(INADDR_BROADCAST);
+}
+
+static inline bool ipv4_is_zeronet(__be32 addr)
+{
+       return (addr & htonl(0xff000000)) == htonl(0x00000000);
+}
+
+#endif /* !HAVE_IPV4_IS_MULTICAST */
 
 #endif