Annotation of embedaddon/mrouted/igmpv2.h, revision 1.1.1.1
1.1 misho 1: /*
2: * The mrouted program is covered by the license in the accompanying file
3: * named "LICENSE". Use of the mrouted program represents acceptance of
4: * the terms and conditions listed in that file.
5: *
6: * The mrouted program is COPYRIGHT 1989 by The Board of Trustees of
7: * Leland Stanford Junior University.
8: *
9: *
10: * igmpv2.h,v 3.8.4.1 1997/11/18 23:25:58 fenner Exp
11: */
12:
13: /*
14: * Constants for IGMP Version 2. Several of these, especially the
15: * robustness variable, should be variables and not constants.
16: */
17: #define IGMP_ROBUSTNESS_VARIABLE 2
18: #define IGMP_QUERY_INTERVAL 125
19: #define IGMP_QUERY_RESPONSE_INTERVAL 10
20: #define IGMP_GROUP_MEMBERSHIP_INTERVAL (IGMP_ROBUSTNESS_VARIABLE * \
21: IGMP_QUERY_INTERVAL + \
22: IGMP_QUERY_RESPONSE_INTERVAL)
23: #define IGMP_OTHER_QUERIER_PRESENT_INTERVAL (IGMP_ROBUSTNESS_VARIABLE * \
24: IGMP_QUERY_INTERVAL + \
25: IGMP_QUERY_RESPONSE_INTERVAL / 2)
26: /* Round to the nearest TIMER_INTERVAL */
27: #define IGMP_STARTUP_QUERY_INTERVAL (((IGMP_QUERY_INTERVAL / 4) \
28: / TIMER_INTERVAL) * TIMER_INTERVAL)
29: #define IGMP_STARTUP_QUERY_COUNT IGMP_ROBUSTNESS_VARIABLE
30: #define IGMP_LAST_MEMBER_QUERY_INTERVAL 1
31: #define IGMP_LAST_MEMBER_QUERY_COUNT IGMP_ROBUSTNESS_VARIABLE
32:
33: /*
34: * OLD_AGE_THRESHOLD is the number of IGMP_QUERY_INTERVAL's to remember the
35: * presence of an IGMPv1 group member. According to the IGMPv2 specification,
36: * routers remember this presence for [Robustness Variable] * [Query Interval] +
37: * [Query Response Interval]. However, OLD_AGE_THRESHOLD is in units of
38: * [Query Interval], so doesn't have sufficient resolution to represent
39: * [Query Response Interval]. When the timer mechanism gets an efficient
40: * method of refreshing timers, this should get fixed.
41: */
42: #define OLD_AGE_THRESHOLD IGMP_ROBUSTNESS_VARIABLE
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>