Sync with Linux Kernel 2.5.69 and *BSD.
authordrepper <drepper>
Thu, 15 May 2003 00:29:21 +0000 (00:29 +0000)
committerdrepper <drepper>
Thu, 15 May 2003 00:29:21 +0000 (00:29 +0000)
inet/netinet/igmp.h

index 2bffadc..67396ba 100644 (file)
 #include <sys/cdefs.h>
 #include <sys/types.h>
 
-#define IGMP_HOST_MEMBERSHIP_QUERY      0x11    /* From RFC1112 */
-#define IGMP_HOST_MEMBERSHIP_REPORT     0x12    /* Ditto */
-#define IGMP_DVMRP                      0x13    /* DVMRP routing */
-#define IGMP_PIM                        0x14    /* PIM routing */
-#define IGMP_TRACE                      0x15
-#define IGMP_HOST_NEW_MEMBERSHIP_REPORT 0x16    /* New version of 0x11 */
-#define IGMP_HOST_LEAVE_MESSAGE         0x17
-
-#define IGMP_MTRACE_RESP                0x1e
-#define IGMP_MTRACE                     0x1f
-
-/*
- *      Use the BSD names for these for compatibility
- */
-
-#define IGMP_DELAYING_MEMBER            0x01
-#define IGMP_IDLE_MEMBER                0x02
-#define IGMP_LAZY_MEMBER                0x03
-#define IGMP_SLEEPING_MEMBER            0x04
-#define IGMP_AWAKENING_MEMBER           0x05
-
-#define IGMP_MINLEN                     8
-
-#define IGMP_MAX_HOST_REPORT_DELAY      10      /* max delay for response to */
-                                                /* query (in seconds)   */
-
-#define IGMP_TIMER_SCALE                10      /* denotes that the igmphdr->timer field */
-                                                /* specifies time in 10th of seconds     */
-
-#define IGMP_AGE_THRESHOLD              400     /* If this host don't hear any IGMP V1  */
-                                                /* message in this period of time,      */
-                                                /* revert to IGMP v2 router.            */
-
-#define IGMP_ALL_HOSTS          htonl(0xE0000001L)
-#define IGMP_ALL_ROUTER         htonl(0xE0000002L)
-#define IGMP_LOCAL_GROUP        htonl(0xE0000000L)
-#define IGMP_LOCAL_GROUP_MASK   htonl(0xFFFFFF00L)
-
 #ifdef __USE_BSD
 
 #include <netinet/in.h>
@@ -109,6 +71,8 @@ struct igmp {
   struct in_addr igmp_group;      /* group address */
 };
 
+#define IGMP_MINLEN                    8
+
 /*
  * Message types, including version number.
  */
@@ -117,6 +81,44 @@ struct igmp {
 #define IGMP_V2_MEMBERSHIP_REPORT      0x16    /* Ver. 2 membership report */
 #define IGMP_V2_LEAVE_GROUP            0x17    /* Leave-group message      */
 
+#define IGMP_DVMRP                     0x13    /* DVMRP routing message    */
+#define IGMP_PIM                       0x14    /* PIM routing message      */
+#define IGMP_TRACE                     0x15
+
+#define IGMP_MTRACE_RESP               0x1e    /* traceroute resp.(to sender)*/
+#define IGMP_MTRACE                    0x1f    /* mcast traceroute messages  */
+
+#define IGMP_MAX_HOST_REPORT_DELAY     10      /* max delay for response to     */
+                                               /*  query (in seconds) according */
+                                               /*  to RFC1112                   */
+#define IGMP_TIMER_SCALE               10      /* denotes that the igmp code field */
+                                               /* specifies time in 10th of seconds*/
+
+/*
+ * States for the IGMP v2 state table.
+ */
+#define IGMP_DELAYING_MEMBER   1
+#define IGMP_IDLE_MEMBER       2
+#define IGMP_LAZY_MEMBER       3
+#define IGMP_SLEEPING_MEMBER   4
+#define IGMP_AWAKENING_MEMBER  5
+
+/*
+ * States for IGMP router version cache.
+ */
+#define IGMP_v1_ROUTER         1
+#define IGMP_v2_ROUTER         2
+
+/*
+ * The following four defininitions are for backwards compatibility.
+ * They should be removed as soon as all applications are updated to
+ * use the new constant names.
+ */
+#define IGMP_HOST_MEMBERSHIP_QUERY     IGMP_MEMBERSHIP_QUERY
+#define IGMP_HOST_MEMBERSHIP_REPORT    IGMP_V1_MEMBERSHIP_REPORT
+#define IGMP_HOST_NEW_MEMBERSHIP_REPORT        IGMP_V2_MEMBERSHIP_REPORT
+#define IGMP_HOST_LEAVE_MESSAGE                IGMP_V2_LEAVE_GROUP
+
 __END_DECLS
 
 #endif