about summary refs log tree commit diff
path: root/inet/netinet/igmp.h
diff options
context:
space:
mode:
Diffstat (limited to 'inet/netinet/igmp.h')
-rw-r--r--inet/netinet/igmp.h78
1 files changed, 40 insertions, 38 deletions
diff --git a/inet/netinet/igmp.h b/inet/netinet/igmp.h
index 2bffadccea..67396baaa7 100644
--- a/inet/netinet/igmp.h
+++ b/inet/netinet/igmp.h
@@ -22,44 +22,6 @@
 #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