[prev in list] [next in list] [prev in thread] [next in thread]
List: snap-users
Subject: (KAME-snap 9482) A few questions regarding to MLDv2
From: "Yu-Jung Lee" <yjlee () zyxel ! com ! tw>
Date: 2006-08-08 5:56:43
Message-ID: 007c01c6bab1$990fb900$2101a8c0 () 1194201
[Download RAW message or body]
Hi,
There are a few questions about MLDv2.
1. In mld_set_hostcompat() in mldv2.c, there's a block of codes:
/*
* Check/set host compatibility mode. Whenever a host changes
* its compatability mode, cancel all its pending response and
* retransmission timers.
*/
mldlog((LOG_DEBUG, "mld_set_compat: timer=%d\n", rti->rt6i_timer1));
if (rti->rt6i_timer1 > 0) {
if (rti->rt6i_type != MLD_V1_ROUTER) {
mldlog((LOG_DEBUG, "mld_set_compat: "
"set timer to MLDv1-compat mode\n"));
rti->rt6i_type = MLD_V1_ROUTER;
mld_cancel_pending_response(ifp, rti);
}
}
It seems that it's redundant since the caller of mld_set_hostcompat() would always \
use query_ver = MLD_V1_ROUTER as input argument and the function is returned in the \
former block of codes. Is it right?
2. At line#3292 in in6_modmulti2(), why not start state change timer as line#2638 by \
mld_start_state_change_timer()?
3. In in6_get_new_msf_state() in in6_msf.c, error handling is missing at #789, #802, \
#850, #865. I suggest to add "return error;" at those places.
4. In in6_get_new_msf_state() in in6_msf.c, after in6_merge_pending_report() at #812, \
is it supposed to clear the exclude list since the source in exclude list is merged \
to the allow list?
Best Regards,
Yu-Jung
[Attachment #3 (text/html)]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=big5">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>There are a few questions about MLDv2.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>1. In mld_set_hostcompat() in mldv2.c, there's a
block of codes:</FONT></DIV>
<DIV><FONT face=Arial size=2> <FONT color=#800000>/*<BR> * Check/set
host compatibility mode. Whenever a host changes<BR> * its compatability
mode, cancel all its pending response and<BR> * retransmission
timers.<BR> */<BR> mldlog((LOG_DEBUG, "mld_set_compat: timer=%d\n",
rti->rt6i_timer1));<BR> if (rti->rt6i_timer1 > 0)
{<BR> if (rti->rt6i_type != MLD_V1_ROUTER)
{<BR> mldlog((LOG_DEBUG, "mld_set_compat:
"<BR> "set timer to MLDv1-compat
mode\n"));<BR> rti->rt6i_type =
MLD_V1_ROUTER;<BR> mld_cancel_pending_response(ifp,
rti);<BR> }<BR> }</FONT></FONT></DIV>
<DIV><FONT face=Arial color=#800000 size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>It seems that it's redundant since the caller of
mld_set_hostcompat() would always use query_ver = MLD_V1_ROUTER as input
argument and the function is returned in the former block of
codes. Is it right?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>2. At line#3292 in in6_modmulti2(), why not
start state change timer as line#2638 by mld_start_state_change_timer()?
</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>3. In in6_get_new_msf_state() in in6_msf.c, error
handling is missing at #789, #802, #850, #865. I suggest to add "return
error;" at those places.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>4. In in6_get_new_msf_state() in in6_msf.c, after
in6_merge_pending_report() at #812, is it supposed to clear the exclude list
since the source in exclude list is merged to the allow list?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Best Regards,</FONT></DIV>
<DIV><FONT face=Arial size=2>Yu-Jung</FONT></DIV>
<DIV> </DIV></BODY></HTML>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic