Subject: section 6.2.1

From: Jamal Hadi Salim <[email-masked]>
Date: Fri, 14 Oct 2005 10:06:52 -0400

Thanks to Weiming for the content. 

Weiming and other people please review to make sure things are fine.
The major thing that i changed from what appears to have been the
original discussion was the "FE Heartbeat Interval" section. It seems to
make more sense to me to describe it as above.

cheers,
jamal

---

From: Weiming Wang <[email-masked]>
Date: Sat, 15 Oct 2005 23:29:02 +0800

Jamal,

This looks quite good to me. Some small  suggestions and a modification for CE
failover policy is as below.

cheers,
Weiming

6.2.1.  FE Protocol LFB

   The FE Protocol LFB is a logical entity in each FE that is used to
   control the ForCES protocol.  The FE Protocol LFB Class ID is
   assigned the value 0x1.  The FE Protocol LFB Instance ID is assigned
   the value 0x1.  There MAY be one and only one instance of the FE
   Protocol LFB in an FE.  The values of the attributes in the FE
   Protocol LFB have pre-defined default values that are specified here.
   Unless explicit changes are made to these values using Config
   messages from the CE, these default values MUST be used for the
   operation of the protocol.

   The formal definition of the FE Protocol LFB can be found in
   Appendix C
!-- a full stop please:)

   The FE Protocol LFB consists of the following elements:

   o  FE Protocol events that can be subscribed/unsubscribed:

      *  FE heartbeat

!-- I don't think our current HB mechanism has treated HB as an event.  We can
leave the FE Protocol event title here, but may only mention that 'Currently no
FE Protocol events have been defined.'

   o  FE Protocol capabilities (read-only):

      *  Supported ForCES protocol version(s) by the FE

      *  Supported ForCES FE model(s) by the FE

      *  Some TML capability description(s)

!-- it's really a blank that need to fill out here.

   o  FE Protocol attributes (can be read and set):

      *  Current version of the ForCES protocol

      *  Current version of the FE model

      *  FE unicast ID

      *  FE multicast ID(s) (list)

!-- I think we need to input some more information here.

      *  CE heartbeat policy - This policy, along with the parameter 'CE
         Heartbeat Dead Interval (CE HDI)' as described below defines
         the operating parameters for the FE to check the CE liveness.
         The policy values with meanings are listed as below:

            0(default) - This policy specifies that CE will send a
            Heartbeat Message to FE whenever CE reaches a time interval
            within which no other PL messages were sent from CE to FE;
            refer to Section 3.3.2 for details.  The HDI attribute as

!-- may be CE HDI instead of only HDI  be more consistent.

            described below is tied to this policy.  If the FE has not
            received any PL messages within CE HDI period it declares
            the connectivity lost.  The CE independently chooses the
            time interval to send the Heartbeat messages to FE - care
            must be exercised to ensure the CE->FE HB interval is
            smaller than the CE HDI assigned.

            1 - The CE will not generate any HB messages.  This actually
            means CE does not want the FE to check the CE liveness.

            Others - reserved.

            CE Heartbeat Dead Interval (CE HDI) - The time interval the
            FE uses to check the CE liveness.  If FE has not received
            any messages from CE within this time interval, FE deduces
            lost connectivity which implies that the CE is dead or the
            association to the CE is lost.  Default value 900ms.

!-- this paragraph should be aligned with the list symbol *.  The default value
900ms is really  a point for more discussion. I suggest a much larger value for
this, such as 9s(second) or even more. Just considering when a TCP lost
connection and then re-established the connection. We may better choose a value
that can generally cover the simplist TCP case.

      *  FE heartbeat policy - This policy, along with the parameter 'FE
         Heartbeat Interval (FE HI)', define the operating parameters
         for how the FE should behave so that the CE can deduce its
         liveliness.  The policy values and the meanings are:

            0(default) - The FE should not generate any Heartbeat
            messages.  In this scenario, the CE is responsible for
            checking FE liveness by setting the PL header ACK flag to

!-- may be better to say "by setting the PL header ACK flag of Heartbeat
Messages it sends to 'AlwaysACK'."

            AlwaysACK.  The FE responds to CE whenever CE sends such
            Heartbeat Request Message.  Refer to Section 6.9 and
            Section 3.3.2 for details.

            1 - This policy specifies that FE must actively send a
            Heartbeat Message if it reaches the time interval assigned
            by the FE HI as long as no no other messages were sent from
            FE to CE during that interval as described in Section 3.3.2.

!-- I haven't   seen more information said in Section 3.3.2 for reference.

            Others - Reserved.

      *  FE Heartbeat Interval (FE HI) - The time interval the FE should
         use to send HB as long as no other messages were sent from FE
         to CE during that interval as described in Section 3.3.2.

!-- same as above. Section 3.3.2 needs to be riched than.  May add "The default
value for FE HI is 300ms.".

      *  Primary CE

!-- is it a Primary CE ID, Robert?

      *  FE restart policy - This specifies the behavior of the FE
         during a FE restart.  The restart may be from a FE failure or
         other reasons that have made FE down and then need to restart.
         The values are defined as below:

            0(default)- just restart the FE from scratch.  In this case,
            the FE should start from pre-association phase definitely.

            1 - restart the FE from an intermediate state.  In this
            case, the FE itself decides from which state it restarts.
            For example, if the FE still keeps enough infomation of pre-
            association phase after some failure, it then has the right
            just to start from post-associatin phase with this policy
            case.

            Others - Reserved

      *  CE failover policy - This specifies the behavior of the FE
         during a CE failure and restart time interval, or when the FE
         loses the CE association.  A timeout parameter is associated
         with this attribute.  (The default value for the timeout is set
         to 30 seconds).  Values of this policy are defined as below:

            0(default) - The FE should continue running and do what it
            can even without an associated CE.  This basically makes the
            FE support CE Graceful restart.  Note that if the CE still
            has not been restarted or hasn't been associated back to the
            FE, after a time interval specified by the timeout
            parameter, the FE will go down completely.

            1 - FE should go down to stop functioning immediately.

            2 - FE should go inactive to temporarily stop functioning.
            If the CE still has not been restarted after a time interval
            of specified by the timeout parameter, the FE will go down
            completely.

            Others - Reserved

!-- Jamal, after re-reading the CE failover policy part, I hope to do the
modification as below. Could you help to modify more and then  put it in?

      *  CE failover policy - This specifies the behavior of the FE
         during a CE failure and restart time interval, or when the FE
         loses the CE association.  The CE Timeout Interval (CE TI) as defined
below is associated
         with this attribute.   Values of this policy are defined as below:

            0(default) - The FE should continue running and do what it
            can even without an associated CE.  This basically makes the
            FE support CE Graceful restart.  Note that if the CE still
            has not been restarted or the FE hasn't been associated back to a
new CE
            after it reaches the CE Timeout Interval (CE TI) ,  the FE will go
down completely.

            1 - FE should go down to stop functioning immediately.

            2 - FE should go inactive to temporarily stop functioning.
            If the CE still has not been restarted after a time interval
            of specified by the timeout parameter, the FE will go down
            completely.

            Others - Reserved

       *  CE Timeout Interval (CE TI) - The time interval along with the CE
failover policy case '0'  for the FE to decide if it should go down compeltely
or not.  The default value is set to 30 seconds. Note that the CE TI value shoud
be set larger than the CE Heartbeat Dead Interval (CE HDI) that is used for the
FE to judge CE dead, as described above.  Usually, the more time of CE TI than
CE HDI is used for the FE to associate to a new CE for the High Availability
consideration. See Section 8 for more details.

---

From: Jamal Hadi Salim <[email-masked]>
Date: Fri, 14 Oct 2005 14:43:51 -0400

Weiming,

Thanks for your efforts.
I have attached the update with your comment. Please try to read it to
completion.

> !-- it's really a blank that need to fill out here.

I did not quiet follow what you meant here.

> !-- I haven't   seen more information said in Section 3.3.2 for reference.

3.3.2 is the section which refers to the traffic sensitive HBs. It seems
relevant. Let me know if that is insufficient.

> value for FE HI is 300ms.".

I made it 500ms.

> !-- is it a Primary CE ID, Robert?

Yes, this is important - if Robert doesnt respond i will make it as you
state above.

> modification as below. Could you help to modify more and then  put it in?

Please take a look at the text in there now; theres some small mod.
Let me know if it is sufficient.

cheers,
jamal

---

From: Weiming Wang <[email-masked]>
Date: Sat, 15 Oct 2005 11:09:33 +0800

Jamal,

Also thanks for your great efforts. Some small editorial changes as marked
inline.

      *  FE multicast ID(s) list - this is a list of multicast IDs that
         the FE belongs to.  These IDs are configured by the CE.

            CE heartbeat policy - This policy, along with the parameter
            'CE Heartbeat Dead Interval (CE HDI)' as described below
            defines the operating parameters for the FE to check the CE
            liveness.  The policy values with meanings are listed as
            below:

            refer to Section 3.3.2 for details.  The CE HDI attribute as

            Others - reserved.

            association to the CE is lost.  Default value 30 s.

!-- Jamal, please check the xml on the above paragraphs. I think the above
paragraphs are not rightly listed.

 ......

      *  CE Timeout Interval (CE TI) - The time interval associated with
         the CE failover policy case '0' and '2'.  The default value is
         set to 300 seconds.  Note that it is advisable to set the CE TI
         value much higher than than the CE Heartbeat Dead Interval (CE
!-- typo:                                    ^^^^
         HDI) since the effect of expiring this parameter is devastating
         to the operation of the FE.

---

From: Jamal Hadi Salim <[email-masked]>
Date: Sun, 16 Oct 2005 16:16:05 -0400

Hi Weiming,

On Sat, 2005-15-10 at 11:09 +0800, Weiming Wang wrote:
\
> paragraphs are not rightly listed.

Good catch. Fixed.

>          value much higher than than the CE Heartbeat Dead Interval (CE

I am not sure i followed what you meant here.

cheers,
jamal