Subject: RE: [Forces-protocol] topic 4c: Common Header: batching

From: "Khosravi, Hormuzd M" <[email-masked]>
Date: Mon, 10 May 2004 11:19:29 -0700

Jamal,

Thanks for this post. I mostly agree, Pls see my comments inline.

-----Original Message-----
From: [email-masked]
[mailto:[email-masked]] On Behalf Of Jamal Hadi Salim

Types of batching:

1) several PL messages in one TML level PDU. PL level header SOT and EOT
indicate start and end of a train of these messages.
Is this responsibility of TML or PL to put them in one PDU or that of
PL? I feel it is the responsibility of PL.

2) Within one message several TLVs which require that each "atomic" unit
have its own subsequence number (and treat the top header sequence
number as a flat transaction number).

My preference is using #1 mostly because now we have to look for a trick
to stash a subsequence number. 
[HK] I agree with using #1, for batching. BTW, we also need #2 when we
have atomic operations on different LFBs (command bundling)....do you
agree ? So we need both kinds of flags, I think.

Weiming points to a concern about the common header introducing
ovrehead.
[HK] If these are sent as separate msgs then we cant avoid that
overhead, for a single msg we should be able to.

What to do in case of failures?
Lets say you sent an atomic batch of A) a del route, B) an add route and
C) add route

Techniques (listed by Joel Halpern once).

1) All or nothing:
if B fails A should also fail; if A was done then you undo
[HK] This is when atomic flag is turned on.

2) Fail upto:
If B fails but A passes, then we just inform CE of Bs failure and dont
execute C.
[HK] This one seems confusing to me. I guess without the atomic flag,
the FE should just report the results/responses to the CE and let the CE
decide.

I think the most interesting this is what happens if FE1 executes A
successfuly and FE2 both A and B but not C. You need to make sure things
are synchronized
[HK] This is something which can be left to the application or the CE
controller which is using the ForCES protocol. We give them all the
hooks and let them decide how they want to hang stuff. Does that sound
fine ??

Thanks
Hormuzd

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

---

From: "Khosravi, Hormuzd M" <[email-masked]>
Date: Mon, 10 May 2004 11:26:45 -0700

Jamal,

One thing I missed in my last reply...
-----Original Message-----
Why do we batch?
1) to pipeline and improve throughput
2) to achieve atomic operations spanning multiple packets. 

Note that #1 may not be necessarily be atomic operation.

PL message/transaction exceeding MTU:
I think the PL should carefully ensure that the messages going across
are each at least going to fit in the MTU size packet. I think if we can
avoid fragmentation of a command, then we should. 

Types of batching:

[HK] I am not sure what MTU you are referring to. But if it's the layer
2 MTU and the PL does this, it might be a layer violation...what do you
think ?

Hormuzd