* [PATH] [MCAST] IPv6: Fix algorithm to compute Querier's Query Interval and Maximum Response Delay
@ 2005-10-28 16:02 Yan Zheng
2005-10-28 17:18 ` David Stevens
0 siblings, 1 reply; 3+ messages in thread
From: Yan Zheng @ 2005-10-28 16:02 UTC (permalink / raw)
To: netdev; +Cc: linux-kernel
5.1.3. Maximum Response Code
The Maximum Response Code field specifies the maximum time allowed
before sending a responding Report. The actual time allowed, called
the Maximum Response Delay, is represented in units of milliseconds,
and is derived from the Maximum Response Code as follows:
If Maximum Response Code < 32768,
Maximum Response Delay = Maximum Response Code
If Maximum Response Code >=32768, Maximum Response Code represents a
floating-point value as follows:
0 1 2 3 4 5 6 7 8 9 A B C D E F
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| exp | mant |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Maximum Response Delay = (mant | 0x1000) << (exp+3)
5.1.9. QQIC (Querier's Query Interval Code)
The Querier's Query Interval Code field specifies the [Query
Interval] used by the Querier. The actual interval, called the
Querier's Query Interval (QQI), is represented in units of seconds,
and is derived from the Querier's Query Interval Code as follows:
If QQIC < 128, QQI = QQIC
If QQIC >= 128, QQIC represents a floating-point value as follows:
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|1| exp | mant |
+-+-+-+-+-+-+-+-+
QQI = (mant | 0x10) << (exp + 3)
-- rfc3810
#define MLDV2_QQIC(value) MLDV2_EXP(0x80, 4, 3, value)
#define MLDV2_MRC(value) MLDV2_EXP(0x8000, 12, 3, value)
Above macro are defined in mcast.c. but 1 << 4 == 0x10 and 1 << 12 == 0x1000.
So the result computed by original Macro is larger.
Signed-off-by: Yan Zheng <yanzheng@21cn.com>
Index: net/ipv6/mcast.c
===================================================================
--- linux-2.6.14/net/ipv6/mcast.c 2005-10-28 08:02:08.000000000 +0800
+++ linux/net/ipv6/mcast.c 2005-10-28 23:41:18.000000000 +0800
@@ -164,7 +164,7 @@
#define MLDV2_MASK(value, nb) ((nb)>=32 ? (value) : ((1<<(nb))-1) & (value))
#define MLDV2_EXP(thresh, nbmant, nbexp, value) \
((value) < (thresh) ? (value) : \
- ((MLDV2_MASK(value, nbmant) | (1<<(nbmant+nbexp))) << \
+ ((MLDV2_MASK(value, nbmant) | (1<<(nbmant))) << \
(MLDV2_MASK((value) >> (nbmant), nbexp) + (nbexp))))
#define MLDV2_QQIC(value) MLDV2_EXP(0x80, 4, 3, value)
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATH] [MCAST] IPv6: Fix algorithm to compute Querier's Query Interval and Maximum Response Delay
2005-10-28 16:02 [PATH] [MCAST] IPv6: Fix algorithm to compute Querier's Query Interval and Maximum Response Delay Yan Zheng
@ 2005-10-28 17:18 ` David Stevens
2005-10-28 18:19 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 3+ messages in thread
From: David Stevens @ 2005-10-28 17:18 UTC (permalink / raw)
To: Yan Zheng; +Cc: linux-kernel, netdev, netdev-owner
Yes, I think you're correct.
Acked-by: David L Stevens <dlstevens@us.ibm.com>
>
> Signed-off-by: Yan Zheng <yanzheng@21cn.com>
>
> Index: net/ipv6/mcast.c
> ===================================================================
> --- linux-2.6.14/net/ipv6/mcast.c 2005-10-28 08:02:08.000000000 +0800
> +++ linux/net/ipv6/mcast.c 2005-10-28 23:41:18.000000000 +0800
> @@ -164,7 +164,7 @@
> #define MLDV2_MASK(value, nb) ((nb)>=32 ? (value) : ((1<<(nb))-1) &
(value))
> #define MLDV2_EXP(thresh, nbmant, nbexp, value) \
> ((value) < (thresh) ? (value) : \
> - ((MLDV2_MASK(value, nbmant) | (1<<(nbmant+nbexp))) << \
> + ((MLDV2_MASK(value, nbmant) | (1<<(nbmant))) << \
> (MLDV2_MASK((value) >> (nbmant), nbexp) + (nbexp))))
>
> #define MLDV2_QQIC(value) MLDV2_EXP(0x80, 4, 3, value)
>
> -
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-10-28 18:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-28 16:02 [PATH] [MCAST] IPv6: Fix algorithm to compute Querier's Query Interval and Maximum Response Delay Yan Zheng
2005-10-28 17:18 ` David Stevens
2005-10-28 18:19 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.