On Mon, 31 Mar 2008 19:28:11 +0900
Mitsuru Chinen <mitch@linux.vnet.ibm.com> wrote:
> I think the MRD calcuration in the following test is incorrect.
>
> #42 Part D : Maximum Retransmission Duration of Confirm message
> #47 Part D : Maximum Retransmission Duration of Renew message, T1 and T2 non-zero
> #51 Part D : Maximum Retransmission Duration of Rebind message, T1 and T2 non-zero
I found I posted a patch for #42 before, and the current patch is
incorrect and previous one is correct.
[dhcptest:00257] RT calculation of #42, rfc3315 client test
http://www.tahi.org/dhcpv6/mail-list/200802.month/257.html
So I apply the same fix for #47 and #51, then create a new patch.
Could you review this instead of previous patches?
Best Regards,
----
Mitsuru Chinen <mitch@linux.vnet.ibm.com>
diff -uprN DHCPv6_Self_Test_P2_1_0_8.orig/rfc3315/C_RFC3315_18_1_2_RetransCnf.seq DHCPv6_Self_Test_P2_1_0_8/rfc3315/C_RFC3315_18_1_2_RetransCnf.seq
--- DHCPv6_Self_Test_P2_1_0_8.orig/rfc3315/C_RFC3315_18_1_2_RetransCnf.seq 2007-10-30 21:56:45.000000000 +0900
+++ DHCPv6_Self_Test_P2_1_0_8/rfc3315/C_RFC3315_18_1_2_RetransCnf.seq 2008-04-01 09:30:40.000000000 +0900
@@ -67,6 +67,7 @@ my $timeout = 30;
my $remain = 0;
my $lastflag = 0;
my $mrdflag = 0;
+my $min_rt = 0;
my $IRT = $CNF_TIMEOUT;
my $MRT = $CNF_MAX_RT;
@@ -253,7 +254,11 @@ while(1){
vLogHTML('<FONT COLOR="#FF0000">MRD expired! </FONT><BR>');
dhcpExitFail;
}
- if($rd + $interval*(1-$RAND) > $MRD){
+ $min_rt = (2 - $RAND) * $interval;
+ if ($min_rt > $MRT) {
+ $min_rt = (1 - $RAND) * $MRT;
+ }
+ if($rd + $min_rt > $MRD){
vLogHTML('<FONT COLOR="#FF0000">Next message must not be observed</FONT><BR>');
$mrdflag += 1;
}
diff -uprN DHCPv6_Self_Test_P2_1_0_8.orig/rfc3315/C_RFC3315_18_1_3_RetransRen.seq DHCPv6_Self_Test_P2_1_0_8/rfc3315/C_RFC3315_18_1_3_RetransRen.seq
--- DHCPv6_Self_Test_P2_1_0_8.orig/rfc3315/C_RFC3315_18_1_3_RetransRen.seq 2007-10-31 17:59:40.000000000 +0900
+++ DHCPv6_Self_Test_P2_1_0_8/rfc3315/C_RFC3315_18_1_3_RetransRen.seq 2008-03-31 22:42:56.000000000 +0900
@@ -70,6 +70,7 @@ my $IRT = $REN_TIMEOUT;
my $MRT = $REN_MAX_RT;
my $acceptablerange = 0;
my $mrdflag = 0;
+my $min_rt = 0;
my $startT2 = 0;
@@ -250,7 +251,11 @@ while(1){
vLogHTML('<FONT COLOR="#FF0000">MRD expired! </FONT><BR>');
dhcpExitFail;
}
- if($rd + $interval*(1-$RAND) > $MRD){
+ $min_rt = (2 - $RAND) * $interval;
+ if ($min_rt > $MRT) {
+ $min_rt = (1 - $RAND) * $MRT;
+ }
+ if($rd + $min_rt > $MRD){
vLogHTML('<FONT COLOR="#FF0000">Next message must not be observed</FONT><BR>');
$mrdflag += 1;
}
diff -uprN DHCPv6_Self_Test_P2_1_0_8.orig/rfc3315/C_RFC3315_18_1_4_RetransReb.seq DHCPv6_Self_Test_P2_1_0_8/rfc3315/C_RFC3315_18_1_4_RetransReb.seq
--- DHCPv6_Self_Test_P2_1_0_8.orig/rfc3315/C_RFC3315_18_1_4_RetransReb.seq 2007-10-31 17:59:40.000000000 +0900
+++ DHCPv6_Self_Test_P2_1_0_8/rfc3315/C_RFC3315_18_1_4_RetransReb.seq 2008-03-31 22:43:53.000000000 +0900
@@ -68,6 +68,7 @@ my $IRT = $REB_TIMEOUT;
my $MRT = $REB_MAX_RT;
my $acceptablerange = 0;
my $mrdflag = 0;
+my $min_rt = 0;
my $startVLT = 0;
my $timeout = $time2 + 100;
my $interval = 0;
@@ -250,7 +251,11 @@ while(1){
vLogHTML('<FONT COLOR="#FF0000">MRD expired! </FONT><BR>');
dhcpExitFail;
}
- if($rd + $interval*(1-$RAND) > $MRD){
+ $min_rt = (2 - $RAND) * $interval;
+ if ($min_rt > $MRT) {
+ $min_rt = (1 - $RAND) * $MRT;
+ }
+ if($rd + $min_rt > $MRD){
vLogHTML('<FONT COLOR="#FF0000">Next message must not be observed</FONT><BR>');
$mrdflag += 1;
}