Subject: [Forces-protocol] Re: Notes from ForCES protocol meeting call

From: "Wang,Weiming" <[email-masked]>
Date: Tue, 11 May 2004 09:28:31 +0800

Hi Robert, Jamal, et al.,

Just some comments, for I did not catch up with the call very well.

Cheers,
Weiming
----- Original Message -----
From: "Putzolu, David" <[email-masked]>

Robert: Is there an example of using batching without
atomicity?  Why do we use batching in non-atomic cases.
Seems like main reason for batching is to provide
atomicity.
[Weiming] Sometimes may only for pipeline processing as Jamal defined.

Jamal: Example of atomicity: Add this route and the NHLFE
together - do not add one without the other.

Robert: If I send two add route TLVs together I could set
atomic flag to make them atomic, or not set atomic and they
could succeed/fail independently. Could also use atomic
flag to say TLVs across messages need to be atomic together.

Example of batching over 4 messages: 1, 2, 3, 4
1&2 need to be atomic together, 3&4 need to be atomic together

1 has batchflag 1 (start batch), atomicflag 1 (atomic)
(FE sees batchflag 1 and atomic 1, knows #1 is start of xaction)
2 has batchflag 0 (end batch), atomicflag 1 (atomic)
(FE sees batchflag 0, knows end of atomic op and commits 1 & 2)

3 has batchflag 1 (start batch), atomicflag 1 (atomic)
(FE sees batchflag 1 and atomic 1, knows #3 is start of xaction)
4 has batchflag 0 (end batch), atomicflag 1 (atomic)
(FE sees batchflag 0, knows end of atomic op and commits 3 & 4)

[Weiming] For this example, I suggest to mark the flags as:
1 has Batchflag =1 and Atomicflag =1, indicating the start of batch, and start
of atomic
2 has Batchflag =1 and Atomicflag =0, indicating still during the batch, but the
end of first atomic
3 has Batchflag =1 and Atomicflag =1, indicating still during the batch, and
start of another atomic
4 has Batchflag =0 and Atomicflag =0, indicating end of batch, and end of second
atomic
[/Weiming]

Another example: Adding 1000 routes in a PL message. Are they
always atomic?
[Weiming] Should be, or it may make things much complex.

Robert: NFSv4 example, use same template to respond, replacing
route value with OK or FAILED fields for each route.  In success
case just ACK whole message, only send detailed full message
back on partial failures.

Weiming: There may be many TLVs in one message.  In this case
default-atomic is fine - the flags are used for signaling
between separate messages.  E.g. if you have 100 routes you
want to add atomically, send 1 message. If you want them to
not be atomic, send separate messages.

_______________________________________________
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 18:34:39 -0700

FYI

-----Original Message-----
From: Putzolu, David 
Sent: Monday, May 10, 2004 5:31 PM
To: Khosravi, Hormuzd M; [email-masked]; Robert Haas; Ram Gopal
([email-masked]); Weiming; Weiming Wang
Subject: Notes from ForCES protocol meeting call

I sent this to everybody I heard on the call, feel free
to edit and forward to rest of team once it is correct.

Administrivia: David Putzolu taking notes, Jamal was 
drawing out a diagram of header fields.

---

Header fields review

16 bits - question whether 16 bits (64k) is enough if it 
is bytes? Maybe it should be words?

Need to finalize the flags in the header still.

---

Message body discussion

Jamal: What's in the message body?  It is a TLV - what will 
it look like inside?
Example of adding an IPv4 route

Common header: Command type = "config"
TLV contained would have:
  Type = "add LFB entry" (could have been delete or modify)
  Length = (TBD)
  Value contains:
    LFB instance ID
    LFB type ID
    Flags needed
    Indicator that it is a IPv4 route being added
    The new IP route
    
Weiming pointed out we may have messages to a whole FE
rather than single LFB, all agreed.

Common header: Command type = "config"
TLV contained would have
  Type = "change FE config entry"
  Length = (TBD)
  Value contains:
    Indicator of what you are changing on the FE
    The parameters of what you are changing on the FE

Robert: Do we know how the model team has hinted to
configure LFBs? They may have some sort of TLV 
that we may decide to coordinate with. We should review
what the model team comes up with.

Jamal: Model team may put TLV within TLV - one big outer
TLV for the add route containing a bunch of smaller TLVs
within it.  Model team may not have been clear - we
should come up with this and also see what model team
has.  We should come up with this because it will affect
the common header as well.

Robert: When we do batching do we ever put two different
command types e.g. a config and a query command into a 
single message? Probably not so seems OK to keep command
type in common header.

Some discussion on where LFB type belongs - decided
to initially put 16 bits into common header for this.
If the LFB type is in the header, and no LFB instance
ID is in the TLV, then all LFBs of the given type in a
FE are addressed.  Some reserved value of LFB type in
common header means to look in the TLVs to figure out
what specific LFB instances are addressed.	

Hormuzd volunteered to send out a couple sample drawings
of packet drawings for a message to all LFBs on a particular
point and another to a specific instance of a LFB.

---

Flags discussion & subsequence #s inside TLVs

Discussed Weiming's email of Monday 8:40AM that discussed
batching & atomicity, Jamal OK with it.