summaryrefslogtreecommitdiffstats
path: root/sys/netinet/igmp.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet/igmp.h')
-rw-r--r--sys/netinet/igmp.h57
1 files changed, 35 insertions, 22 deletions
diff --git a/sys/netinet/igmp.h b/sys/netinet/igmp.h
index 4011b4c..a7038f3 100644
--- a/sys/netinet/igmp.h
+++ b/sys/netinet/igmp.h
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* @(#)igmp.h 8.1 (Berkeley) 6/10/93
- * $Id: igmp.h,v 1.4 1994/09/06 22:42:17 wollman Exp $
+ * $Id: igmp.h,v 1.4 1994/09/06 22:42:17 wollman Exp $
*/
#ifndef _NETINET_IGMP_H_
@@ -46,7 +46,7 @@
*
* Written by Steve Deering, Stanford, May 1988.
*
- * MULTICAST 1.2
+ * MULTICAST Revision: 3.3.1.2
*/
/*
@@ -54,40 +54,53 @@
*/
struct igmp {
u_char igmp_type; /* version & type of IGMP message */
- u_char igmp_code; /* unused, should be zero */
+ u_char igmp_code; /* subtype for routing msgs */
u_short igmp_cksum; /* IP-style checksum */
struct in_addr igmp_group; /* group address being reported */
}; /* (zero for queries) */
#define IGMP_MINLEN 8
-#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* message types, incl. version */
-#define IGMP_HOST_MEMBERSHIP_REPORT 0x12
-#define IGMP_DVMRP 0x13 /* for experimental multicast */
- /* routing protocol */
-#define IGMP_HOST_NEW_MEMBERSHIP_REPORT 0x16
-#define IGMP_HOST_LEAVE_MESSAGE 0x17
-#define IGMP_MTRACE 0x1f /* mcast traceroute messages */
-#define IGMP_MTRACE_RESP 0x1e /* traceroute resp. (to sender) */
+/*
+ * Message types, including version number.
+ */
+#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* Host membership query */
+#define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Old membership report */
+#define IGMP_DVMRP 0x13 /* DVMRP routing message */
+#define IGMP_PIM 0x14 /* PIM routing message */
+
+#define IGMP_HOST_NEW_MEMBERSHIP_REPORT 0x16 /* New membership report */
+
+#define IGMP_HOST_LEAVE_MESSAGE 0x17 /* Leave-group message */
+
+#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) */
-#define IGMP_MAX_HOST_REPORT_DELAY 10 /* max delay for response to */
#define IGMP_TIMER_SCALE 10 /* denotes that the igmp->timer filed */
- /*specifies time in 10th os seconds */
+ /*specifies time in tenths of seconds */
+/*
+ * States for the IGMPv2 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
-
+#define IGMP_LAZY_MEMBER 3
+#define IGMP_SLEEPING_MEMBER 4
+#define IGMP_AWAKENING_MEMBER 5
+/*
+ * We must remember whether the querier is an old or a new router.
+ */
#define IGMP_OLD_ROUTER 0
#define IGMP_NEW_ROUTER 1
-#define IGMP_AGE_THRESHOLD 540
+/*
+ * Revert to new router if we haven't heard from an old router in
+ * this amount of time.
+ */
+#define IGMP_AGE_THRESHOLD 540
-#ifdef IGMP_STATES
-static char *tostate[]={"","DELAYING_MEMBER","IDLE","LAZY","SLEEPING",
- "AWAKENING" };
-#endif /* IGMP_STATES */
#endif /* _NETINET_IGMP_H_ */
OpenPOWER on IntegriCloud