Setting tag sliver-openvswitch-2.2.90-1
[sliver-openvswitch.git] / lib / netlink-protocol.h
index 64f773e..3009fc5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2010, 2011 Nicira Networks.
+ * Copyright (c) 2008, 2010, 2011 Nicira, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 #include <linux/netlink.h>
 #include <linux/genetlink.h>
 
-/* Some Xenddks have an outdated genetlink header file which doesn't have some
- * symbols it should. */
-#ifndef CTRL_ATTR_MCAST_GRP_MAX
-
-#undef CTRL_ATTR_MAX
-#define CTRL_ATTR_MAX 7
-#define CTRL_ATTR_MCAST_GROUPS 7
-
-enum {
-       CTRL_ATTR_MCAST_GRP_UNSPEC,
-       CTRL_ATTR_MCAST_GRP_NAME,
-       CTRL_ATTR_MCAST_GRP_ID,
-       __CTRL_ATTR_MCAST_GRP_MAX,
-};
-
-#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1)
-#endif /* CTRL_ATTR_MCAST_GRP_MAX */
-
 #else
 #define NETLINK_GENERIC         16
 
@@ -167,9 +149,9 @@ enum {
 
 /* These were introduced all together in 2.6.24. */
 #ifndef NLA_TYPE_MASK
-#define NLA_F_NESTED           (1 << 15)
-#define NLA_F_NET_BYTEORDER    (1 << 14)
-#define NLA_TYPE_MASK          ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER)
+#define NLA_F_NESTED        (1 << 15)
+#define NLA_F_NET_BYTEORDER (1 << 14)
+#define NLA_TYPE_MASK       ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER)
 #endif
 
 /* These were introduced all together in 2.6.14.  (We want our programs to
@@ -179,4 +161,22 @@ enum {
 #define NETLINK_DROP_MEMBERSHIP 2
 #endif
 
+/* These were introduced all together in 2.6.23.  (We want our programs to
+ * support the newer kernel features even if compiled with older headers.) */
+#ifndef CTRL_ATTR_MCAST_GRP_MAX
+
+#undef CTRL_ATTR_MAX
+#define CTRL_ATTR_MAX 7
+#define CTRL_ATTR_MCAST_GROUPS 7
+
+enum {
+    CTRL_ATTR_MCAST_GRP_UNSPEC,
+    CTRL_ATTR_MCAST_GRP_NAME,
+    CTRL_ATTR_MCAST_GRP_ID,
+    __CTRL_ATTR_MCAST_GRP_MAX,
+};
+
+#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1)
+#endif /* CTRL_ATTR_MCAST_GRP_MAX */
+
 #endif /* netlink-protocol.h */