Subject: RE: A question about RFC2960.

From: [email-masked]
Date: Fri, 5 Sep 2003 16:44:25 +0300

> > 	An idle address will have its cwnd set to 2*MTU, so you 
> could send
> > 	couple of packets. However, you are limited to one only...
> 
> Where does it say that? E1, E2 and E3 allow you to send as 
> soon as cwnd
> permits (which is immediately in the multiple homed case).

	I might be missing something, but I think that section 6.3 has always been quite clear in this respect. E3) says that you take all the chunks that fit in a single packet and you retransmit those packets. Anywhere else it says that you can send a second (or more) packet. It explicitly says "in a single packet".

	The Note later also leaves it clear: the chunks that did not fit in that single packet that you sent will be sent later. So I suppose you send only one.

	I don't know how could you understand section 6.3.3 otherwise, but I admit I could have been always missing something... :-/

> > 	In fact there is another problem. When you send a DATA 
> chunk you only
> > 	count as being on flight (MTU - IP Header Length - SCTP 
> Header Length
> > 	- DATA Chunk Header Length). So even if your cwnd is 
> set to 1*MTU you
> > 	can in theory have always at least two full packets in 
> flight, thanks
> > 	to what 2.7 in the Implementer's Guide says.
> > 
> > 	I think we have already spoken about this issue, and the general
> > 	thought was that, as you don't really know how 
> "separate" are your
> > 	"different" paths (they might have much in common as 
> they come from
> > 	and go to the same physical destinations), you better 
> send a single
> > 	packet, since both paths might be sharing the congested 
> router...
> > 
> > 	But I'm with Wei here: as you won't normally send much 
> packets to the
> > 	secondary address (only those that were in flight when 
> T3 expired),
> > 	removing this rule of a single packet only after T3 
> expiration, can in
> > 	fact halve the recovery time after a T3 expiration... I 
> don't know
> > 	which can be the damage, though... :-/
> 
> What single packet rule?  There is no single packet rule in the RFC.

	It looks like a rule to me... See above.

> That was my point in highlighting 2.7.

	But section 2.7 of the IG does not refer to the T3 expiration case. I don't think it is related with section 6.3.3 of the RFC. Section 6.3.3 implicitly (or quite explicitly I would say) states that you don't follow the cwnd/flight size rule and that you only send one packet.

	BR Iván Arias Rodríguez

> --brian
> 
> 
> > 
> > 	BR Iván Arias Rodríguez
> 
> -- 
> 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 ¦
>

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Fri, 5 Sep 2003 08:34:12 -0600

Ivan.Arias-Rodriguez,

On Fri, 05 Sep 2003, [email-masked] wrote:

> 	I might be missing something, but I think that section 6.3 has always
> 	been quite clear in this respect. E3) says that you take all the
> 	chunks that fit in a single packet and you retransmit those packets.
> 	Anywhere else it says that you can send a second (or more) packet. It
> 	explicitly says "in a single packet".
> 
> 	The Note later also leaves it clear: the chunks that did not fit in
> 	that single packet that you sent will be sent later. So I suppose you
> 	send only one.

Not later -- when cwnd allows.  Which in the multihomed case is immediately.
But in the single-homed case, typically after a SACK.

> 
> 	I don't know how could you understand section 6.3.3 otherwise, but I
> 	admit I could have been always missing something... :-/
> 

Above where?  Where is the text that say I cannot use the cwnd from the
other desintation on a multi-homed connection?  I don't see it anywhere.
If anything the note says that you SHOULD send these TSNs as soon as CWND
allows, which for the other destination is immediately.

> 	But section 2.7 of the IG does not refer to the T3 expiration case. I
> 	don't think it is related with section 6.3.3 of the RFC. Section 6.3.3
> 	implicitly (or quite explicitly I would say) states that you don't
> 	follow the cwnd/flight size rule and that you only send one packet.

   Note: Any DATA chunks that were sent to the address for which the
   T3-rtx timer expired but did not fit in one MTU (rule E3 above),
   should be marked for retransmission and sent as soon as cwnd allows
   XXXXXX                                  XXXXXXXXXXXXXXXXXXXXXXXXXXX
   (normally when a SACK arrives).
   
Because CWND allows on Destination B, they SHOULD be sent immediately.

--brian