Subject: RE: [Tsvwg] T3 cannot timeout???

From: [email-masked]
Date: Fri, 26 Apr 2002 12:03:41 +0300

Hi Dave!

	I must confess that I don't really follow you, but let's try...

> Hello,
> We've found a Here's a case we found, hopefully someone can help!
> 
> 2 peers (A and B) with 2 destinations (1 and 2) each, both 
> using the same
> path as the 'primary'.

	Let me check if I know what you are saying here... Peer A uses IPa1 and IPa2, and peer B uses IPb1 and IPb2... So, you mean that A's primary address is IPb1 and uses IPa1 as the source address, and peer B uses IPa1 as primary and IPb1 as the source address for those datagrams, right?

> Primary ethernet goes down.

	Which one? IPb1?

> Side A detects this, and switches to destination 2.

	Ok, now A is using IPb2...

> Side B's T3 timer hasn't yet expired, but starts receiving 
> data from A on

	Ok... I think I understand you now that I read it again... You mean that there are two independent Ethernet networks... So IPa1 and IPb1 are in the same network, and IPa2 and IPb2 are in another network. Am I right?

> 2.  B sends SACK on 2nd path (since that's where it got the data), and
> since it also has data to send, it bundles DATA chunks with the SACK.

	I don't think this is the right thing to do... You always use the primary address until it is down... I would most probably do it in the other way: sending SACKs bundled with the DATA chunks sent to the primary address...

> The data bundled with the (many?) SACKs on dest 2 will eventually be
> SACKed.  These SACKs must contain GAP reports, indicating the 
> missing TSNs
> (the ones sent to dest 1 with TSNs lower than those bundled with the
> SACKs).  Once 4 of these SACKs with GAPs are received, Side B 
> will "fast
> retransmit" those chunks on dest 2.  According to the RFC 

	Well, that's right... However I think you shouldn't send the DATA to IPa2 just because you are also sending SACKs there...

> (7.2.4), Side B
> will restart T3 for dest 1, since it will be retransmitting 
> the lowest TSN
> sent to it.  It appears that this will continue forever.  
> Side B will never
> see dest 1 as failed, since its T3 will continually be reset, 
> but it will
> waste a lot of time and energy sending it data!

	Ok, so the problem is that you are sending DATA chunks both to IPa1 and IPa2 depending on if you send SACKs or not... I think this is the problem... T3 in IPa1 won't reset because the SACKs of the DATA chunks sent to IPa2 will always trigger a fast retransmission before it expires...

	However, if you use only the primary address when sending data, you don't have this problem... I don't know if this is the solution, but the point is that what you are doing sending DATA to the secondary address is not the right thing to do...

	BR Iván Arias Rodríguez

> Has anyone seen this?  Any suggestions?
> 
> ======================================
> Dave Sclarsky
> Radisys Corporation
> 520 Fellowship Road
> Suite C-304
> Mt. Laurel, NJ 08054
> email:[email-masked]
> voice:856.642.9229x231 fax:856.642.0252
> 
> 
> 
> _______________________________________________
> tsvwg mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/tsvwg
> 

_______________________________________________
tsvwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/tsvwg

---

From: Randall Stewart <[email-masked]>
Date: Fri, 26 Apr 2002 08:33:56 -0500

>         I don't think this is the right thing to do... You always use the primary address until it is down... I would most probably do it in the other way: sending SACKs bundled with the DATA chunk…

I agree with Ivan here.. You BUNDLE and send the SACK to
the PRIMARY address when you are putting it with DATA. NOT to
where it came from...

R

-- 
Randall R. Stewart
[email-masked] 815-342-5222 (cell phone)

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Fri, 26 Apr 2002 10:11:43 -0500

Randall,

> the PRIMARY address when you are putting it with DATA. NOT to

That's what I do too.  Works for me.

--brian

-- 
Brian F. G. Bidulock    ¦ The reasonable man adapts himself to the ¦
[email-masked]    ¦ world; the unreasonable one persists in  ¦
http://www.openss7.org/ ¦ trying  to adapt the  world  to himself. ¦
                        ¦ Therefore  all  progress  depends on the ¦
                        ¦ unreasonable man. -- George Bernard Shaw ¦