draft-ietf-forces-ceha-03.txt   draft-ietf-forces-ceha-04.txt 
Network Working Group K. Ogawa Network Working Group K. Ogawa
Internet-Draft NTT Corporation Internet-Draft NTT Corporation
Intended status: Standards Track W. M. Wang Intended status: Standards Track W. M. Wang
Expires: August 23, 2012 Zhejiang Gongshang University Expires: January 17, 2013 Zhejiang Gongshang University
E. Haleplidis E. Haleplidis
University of Patras University of Patras
J. Hadi Salim J. Hadi Salim
Mojatatu Networks Mojatatu Networks
February 20, 2012 July 16, 2012
ForCES Intra-NE High Availability ForCES Intra-NE High Availability
draft-ietf-forces-ceha-03 draft-ietf-forces-ceha-04
Abstract Abstract
This document discusses CE High Availability within a ForCES NE. This document discusses CE High Availability within a ForCES NE.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 23, 2012. This Internet-Draft will expire on January 17, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 21 skipping to change at page 2, line 21
2.2. Quantifying Problem Scope . . . . . . . . . . . . . . . . 5 2.2. Quantifying Problem Scope . . . . . . . . . . . . . . . . 5
3. RFC5810 CE HA Framework . . . . . . . . . . . . . . . . . . . 6 3. RFC5810 CE HA Framework . . . . . . . . . . . . . . . . . . . 6
3.1. Current CE High Availability Support . . . . . . . . . . . 6 3.1. Current CE High Availability Support . . . . . . . . . . . 6
3.1.1. Cold Standby Interaction with ForCES Protocol . . . . 7 3.1.1. Cold Standby Interaction with ForCES Protocol . . . . 7
3.1.2. Responsibilities for HA . . . . . . . . . . . . . . . 9 3.1.2. Responsibilities for HA . . . . . . . . . . . . . . . 9
4. CE HA Hot Standby . . . . . . . . . . . . . . . . . . . . . . 10 4. CE HA Hot Standby . . . . . . . . . . . . . . . . . . . . . . 10
4.1. Changes to the FEPO model . . . . . . . . . . . . . . . . 10 4.1. Changes to the FEPO model . . . . . . . . . . . . . . . . 10
4.2. FEPO processing . . . . . . . . . . . . . . . . . . . . . 11 4.2. FEPO processing . . . . . . . . . . . . . . . . . . . . . 11
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
6. Security Considerations . . . . . . . . . . . . . . . . . . . 16 6. Security Considerations . . . . . . . . . . . . . . . . . . . 16
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.1. Normative References . . . . . . . . . . . . . . . . . . . 16 7.1. Normative References . . . . . . . . . . . . . . . . . . . 17
7.2. Informative References . . . . . . . . . . . . . . . . . . 16 7.2. Informative References . . . . . . . . . . . . . . . . . . 17
Appendix 1. Appendix I - New FEPO version . . . . . . . . . . . . 17 Appendix 1. Appendix I - New FEPO version . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25
1. Definitions 1. Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119. document are to be interpreted as described in RFC 2119.
The following definitions are taken from [RFC3654]and [RFC3746]: The following definitions are taken from [RFC3654]and [RFC3746]:
Logical Functional Block (LFB) -- A template that represents a fine- Logical Functional Block (LFB) -- A template that represents a fine-
skipping to change at page 7, line 27 skipping to change at page 7, line 27
| | | | | |
| | | | | |
| FAILURE | | FAILURE |
| | | |
| Asso Estb,Caps exchange | | Asso Estb,Caps exchange |
3 |<------------------------------------------>| 3 |<------------------------------------------>|
| | | |
| Event Report (pri CE down) | | Event Report (pri CE down) |
4 |------------------------------------------->| 4 |------------------------------------------->|
| | | |
| state update from scratch | | state update |
5 |<------------------------------------------>| 5 |<------------------------------------------>|
Figure 2: CE Failover for Cold Standby Figure 2: CE Failover for Cold Standby
3.1.1. Cold Standby Interaction with ForCES Protocol 3.1.1. Cold Standby Interaction with ForCES Protocol
High Availability parameterization in an FE is driven by configuring High Availability parameterization in an FE is driven by configuring
the FE Protocol Object (FEPO) LFB. the FE Protocol Object (FEPO) LFB.
The FEPO CEID component identifies the current master CE and the The FEPO CEID component identifies the current master CE and the
skipping to change at page 8, line 21 skipping to change at page 8, line 21
+-->-----+ +-->-----+
| | | |
(CE issues Teardown || +---+--------v----+ (CE issues Teardown || +---+--------v----+
Lost association) && | Pre-Association | Lost association) && | Pre-Association |
CE failover policy = 0 | (Association | CE failover policy = 0 | (Association |
+------------>-->-->| in +<----+ +------------>-->-->| in +<----+
| | progress) | | | | progress) | |
| CE Issues +--------+--------+ | | CE Issues +--------+--------+ |
| Association | | CEFTI | Association | | CEFTI
| Response V | timer | Response V | timer
| ___________________+ | expires | +------------------+ | expires
| | ^ | | ^
| V | | V |
+-+-----------+ +------+-----+ +-+-----------+ +------+-----+
| | | Not | | | | Not |
| | (CE issues Teardown || | Associated | | | (CE issues Teardown || | Associated |
| | Lost association) && | +->---+ | | Lost association) && | +->---+
| Associated | CE Failover Policy = 1 |(May | FE | | Associated | CE Failover Policy = 1 |(May | FE |
| | | Continue |try v | | | Continue |try v
| |-------->------->------>| Forwarding)|assn | | |-------->------->------>| Forwarding)|assn |
| | | |-<---+ | | Start CEFTI timer | |-<---+
| | | | | | | |
+-------------+ +-------+-----+ +-------------+ +-------+-----+
^ | ^ |
| CE Issues v | CE Issues V
| Association | | Association |
| Setup | | Setup |
| (Cancel CEFTI Timer) |
+_________________________________________+ +_________________________________________+
Figure 3: FE State Machine considering HA Figure 3: FE State Machine considering HA
When communication fails between the FE and CE (which can be caused When communication fails between the FE and CE (which can be caused
by either the CE or link failure but not FE related), either the TML by either the CE or link failure but not FE related), either the TML
on the FE will trigger the FE PL regarding this failure or it will be on the FE will trigger the FE PL regarding this failure or it will be
detected using the HB messages between FEs and CEs. The detected using the HB messages between FEs and CEs. The
communication failure, regardless of how it is detected, MUST be communication failure, regardless of how it is detected, MUST be
considered as a loss of association between the CE and corresponding considered as a loss of association between the CE and corresponding
skipping to change at page 9, line 25 skipping to change at page 9, line 27
secondary retrieved from table BackupCEs. The FE then attempts to secondary retrieved from table BackupCEs. The FE then attempts to
associate with the CE designated as the new primary CE. If it fails associate with the CE designated as the new primary CE. If it fails
to re-associate with any CE and the CEFTI expires, the FE then to re-associate with any CE and the CEFTI expires, the FE then
transitions to the pre-association state. transitions to the pre-association state.
If the FE, while in the not associated state, manages to reconnect to If the FE, while in the not associated state, manages to reconnect to
a new primary CE before CEFTI expires it transitions to the a new primary CE before CEFTI expires it transitions to the
Associated state. Once re-associated, the CE tries to synchronize Associated state. Once re-associated, the CE tries to synchronize
any state that the FE may have lost during the not associated state. any state that the FE may have lost during the not associated state.
How the CE re-synchronizes such state is out of scope for the current How the CE re-synchronizes such state is out of scope for the current
ForCES architecture but would include issuing new configs and ForCES architecture but would typically constitute the issuing of new
queries. configs and queries.
An explicit message (a Config message setting Primary CE component in An explicit message (a Config message setting Primary CE component in
ForCES Protocol object) from the primary CE, can also be used to ForCES Protocol object) from the primary CE, can also be used to
change the Primary CE for an FE during normal protocol operation. In change the Primary CE for an FE during normal protocol operation. In
this case, the FE transitions to the Not Associated State and this case, the FE transitions to the Not Associated State and
attempts to Associate with the new CE. attempts to Associate with the new CE.
3.1.2. Responsibilities for HA 3.1.2. Responsibilities for HA
TML Level: TML Level:
skipping to change at page 10, line 23 skipping to change at page 10, line 24
In this section we describe small extensions to the existing scheme In this section we describe small extensions to the existing scheme
to enable hot standby HA. To achieve hot standby HA, we target to enable hot standby HA. To achieve hot standby HA, we target
specific goals defined in Section 2.2, namely: specific goals defined in Section 2.2, namely:
o How fast a backup CE becomes operational. o How fast a backup CE becomes operational.
o How fast the FEs associate with the new master CE. o How fast the FEs associate with the new master CE.
As described in Section 3.1, in the pre-association phase the FEM As described in Section 3.1, in the pre-association phase the FEM
configures the FE to make it aware of all the CEs in the NE. The FEM configures the FE to make it aware of all the CEs in the NE. The FEM
MUST configure the FE to make it aware of which CE is the master and MUST configure the FE to make it aware which CE is the master and MAY
MAY specify any backup CE(s). specify any backup CE(s).
4.1. Changes to the FEPO model 4.1. Changes to the FEPO model
In order for the above to be achievable there is a need to make a few In order for the above to be achievable there is a need to make a few
changes in the FEPO model. Section 1 contains the xml definition of changes in the FEPO model. Section 1 contains the xml definition of
the new version 2 of the FEPO LFB. the new version 2 of the FEPO LFB.
Changes from the version 1 of FEPO are: Changes from the version 1 of FEPO are:
1. Addition of a new datatype, status (unsigned char) with special 1. Added four new datatypes:
values 0 (Disconnected), 1 (Connected), 2 (Associated), 3
(Lost_Connection) and 4 (Unreachable).
2. Change Component BackupCEs (9) to AllCEs and instead of an Array 1. CEStatusType an unsigned char to specify status of a
of unsigned integers(CEID), it MUST be an Array of unsigned connection with a CE. Special values are 0 (Disconnected), 1
integers (CEID) and unsigned char (status) for each CE. (Connected), 2 (Associated), 3 (Lost_Connection) and 4
(Unreachable)
3. Add two special values to the CEFailoverPolicyValues. 2 (High 2. HAModeValues an unsigned char to specify selected HA mode.
availability without Graceful restart) and 3 (High availability Special values are 0 (No HA Mode), 1 (HA Mode - Cold Standby)
with Graceful restart). and 2 (HA Mode - Hot Standby)
3. FEHACapab an unsigned char to specify HA capabilities of the
FE. Special values are 0 (Graceful Restart), 1 (Cold
Standby) and 2 (Hot Standby)
4. AllCEType a struct of CE ID and CEStatusType to contain
connection information for one CE. Used in the AllCEs array.
2. Appended three new components:
1. AllCEs to hold status for all CEs. AllCEs is an Array of the
AllCEType.
2. HAMode to specify current High Availability mode selected.
An unsigned char with three special values 0 (No HA), 1
(Running Cold-Standby) and 2 (Running Hot-Standby)
3. AcceptBackupGets to provide the master CE to control whether
the FE will accept incoming queries from backup CEs.
3. Added two new capabilities. The HACapabilities, a table that
defines which HA capabilities the FE supports and the
MaximumMultipleCEAssocations which defines the maximum
associations with CEs this FE can have.
4. Added one additional Event, the HAPrimaryCEDown event which 4. Added one additional Event, the HAPrimaryCEDown event which
reports last known CEID and tentative new master CEID. reports last known CEID and tentative new master CEID.
As the FEPO component 9 is not backwards compatible with the previous Since no component has been altered there is no compatibility issue
version there is the issue of interoperability between CE and FE. between this version of the FEPO with the old one. This means that a
CE which understands only version 1.0 of the FEPO can use the newer
However this is a pre-association version mismatch and the managers version without making use of the High Availability options that it
have to identify the issue and not allow an association that would provides.
fail or cause problems.
4.2. FEPO processing 4.2. FEPO processing
The FE's FEPO LFB version 2 AllCEs table (previously BackupCEs) The FE's FEPO LFB version 2 AllCEs table contains all the CEIDs that
contains all the CEIDs that the FE may connect and associate with. the FE may connect and associate with. The ordering of the CE IDs in
The ordering of the CE IDs in this table defines the priority order this table defines the priority order in which an FE will connect to
in which an FE will connect to the CEs. In the pre-association the CEs. In the pre-association phase, the first CE ID (lowest table
phase, the first CE ID (lowest table index) in the AllCEs table MUST index) in the AllCEs table MUST be the first CE ID that the FE will
be the first CE ID that the FE will attempt to connect and associate attempt to connect and associate with. If the FE fails to connect
with. If the FE fails to connect and associate with the first CE ID, and associate with the first CE ID, it will attempt to connect to the
it will attempt to connect to the second CE ID and so forth, and second CE ID and so forth, and cycles back to the beggining of the
cycles back to the beggining of the list until there is a connection list until there is a connection and an association. The FE MUST
and an association. The FE MUST associate with at least one CE. associate with at least one CE. Upon a successful association, the
Upon a successful association, the FEPO's CEID component identifies FEPO's CEID component identifies the current associated master CE.
the current associated master CE.
For the sake of simplicity, the FE MUST respond to messages issued While it would be much simpler to have the FE not respond to any
only by the master CE. This simplifies the synchronization and messages from CE other than the master, it may be useful for the
avoids the concept of locking FE state. i.e the FE MUST drop any backup CEs to be able to query the FE. Query commands are sent
messages from backup CEs. However, asynchronous events that the always on the high priority channel. In order to avoid missing
master CE has subscribed to, as well as heartbeats are sent to all critical configuration or query commands from the master CE, all
associated-to CEs. Packet redirects continue to be sent only to the query commands from backup CEs MUST be sent on the high priority
master CE. The Heartbeat Interval, the CEHB Policy and the FEHB channel but with the least priority, the value of which is 4.
Policy MUST be the same for all CEs. However since queries are high priority from heartbeats, if the
master CE waits for heartbeat responses and the backup CEs flood the
FE, the master CE may think that the FE is down. Therefore it is
prudent to add a control mechanism that will be able to control
whether the FE can respond to query messages from backup CEs. The
AcceptBackupGets component, a boolean, is designed for this occasion.
If the master CE sets it to true, the FE MUST accept and process
query commands from backup CEs. If the AcceptBackupGets is false,
the FE MUST drop query commands from backup CEs.
Asynchronous events that the master CE has subscribed to, as well as
heartbeats are sent to all associated-to CEs. Packet redirects
continue to be sent only to the master CE. The Heartbeat Interval,
the CEHB Policy and the FEHB Policy MUST be the same for all CEs.
Figure 4 illustrates the state machine that facilitates connection Figure 4 illustrates the state machine that facilitates connection
recovery with High Availability enabled. recovery with High Availability enabled.
FE tries to associate FE tries to associate
+-->-----+ +-->-----+
| | | |
^ v ^ v
(CE issues Teardown || +----+--------+---+ (CE issues Teardown || +----+--------+---+
Lost association) && | Pre-Association | Lost association) && | Pre-Association |
CE failover policy = 0 | (Association +<-------------------+ CE failover policy = 0 | (Association +<-------------------+
+------------>-->-->| in +<-----+ | +------------>-->-->| in +<-----+ |
| | progress) | | | | | progress) | | |
| CE Issues +--------+--------+ | | | CE Issues +--------+--------+ | |
| Association | | | | Association | | |
| Response V Not Found || CEFTI | | Response V Not Found || CEFTI |
| ___________________+ timer expires | | ___________________+ timer expires |
| | | | | | | |
| V ^ | | V ^ |
+-+-----------+ +------+------+ | +-+-----------+ +------+------+ |
| | | Not | | | | (CE issues Teardown || | Not | |
| | (CE issues Teardown || | Associated | | | | Lost association) && | Associated | |
| | Lost association) && | | CEFTI | | (CE Failover Policy=1) | | CEFTI
| Associated | (CE Failover Policy=2|| | (May | timer | Associated | | (May | timer
| | CE Failover Policy=3) | Continue | expires | | | Continue | expires
| +---------->------->----->| Forwarding)| | | +---------->------->----->| Forwarding)| |
| | | | | | | Start CEFTI Timer | | |
| | | Search for | | | | | Search for | |
| | +--------->| next | | | | +--------->| next | |
| | | | associated | | | | | | associated | |
| | | | CE | | | | | | CE | |
| | | | (HAMode 2) | |
+-------------+ | +-------------+ | +-------------+ | +-------------+ |
^ | V | ^ | V |
| | | | | | | |
| | Found CE | | | Found CE |
| CEHDI Expires Send Event of | | CEHDI Expires Send Event of |
| | New CE ID. | | | New CE ID. |
| | Start CEHDI Timer |
| | | | | | | |
| | V | | | V |
| | +------+------+ | | | +------+------+ |
| ^---------+ Confirm +-------^ | ^---------+ Confirm +-------^
| | State | | | State |
| Received +---->| | | Received +---->| |
| different | | Wait for CE | | different | | Wait for CE |
| CE ID. ^ | to confirm | | CE ID. ^ | to confirm |
| Resend Event | | new CE ID | | Resend Event | | new CE ID |
| +----<| | | Restart CEHDI Timer +----<| |
| +-----+-------+ | +-----+-------+
| Received same CE ID | | Received same CE ID |
| (Cancel CEFTI & CEHDI Timer) |
+_______________________________________+ +_______________________________________+
Figure 4: FE State Machine considering HA Figure 4: FE State Machine considering HA
Once the FE has associated with a master CE it moves to the post- Once the FE has associated with a master CE it moves to the post-
association phase (Associated state). In this state, the master CE association phase (Associated state). It MAY also instruct the FE to
MAY update the list of backup CEs. It MAY also instruct the FE to
use a different master CE. It is assumed that the master CE will use a different master CE. It is assumed that the master CE will
communicate with other CEs within the NE for the purpose of communicate with other CEs within the NE for the purpose of
synchronization via the CE-CE interface. The CE-CE interface is out synchronization via the CE-CE interface. The CE-CE interface is out
of scope for this document. of scope for this document.
FE CE#1 CE#2 ... CE#N FE CE#1 CE#2 ... CE#N
| | | | | | | |
| Asso Estb,Caps exchg | | | | Asso Estb,Caps exchg | | |
1 |<-------------------->| | | 1 |<-------------------->| | |
| | | | | | | |
skipping to change at page 13, line 46 skipping to change at page 14, line 37
| Config (Set CEID to CEID of CE#2) | | | Config (Set CEID to CEID of CE#2) | |
6 |<----------------------------------| | 6 |<----------------------------------| |
7 |<--------------------------------->| | 7 |<--------------------------------->| |
. . . . . . . .
7x|<--------------------------------->| | 7x|<--------------------------------->| |
. . . . . . . .
Figure 5: CE Failover for Hot Standby Figure 5: CE Failover for Hot Standby
While in the post-association phase, if the CE Failover Policy is set While in the post-association phase, if the CE Failover Policy is set
to 2 (High Availability without Graceful Restart) or 3 (High to 1 and HAMode set to 2 (HotStandby) then the FE, after succesfully
Availability with Graceful Restart) then the FE, after succesfully
associating with the master CE, MUST attempt to connect and associate associating with the master CE, MUST attempt to connect and associate
with all the CEs that is aware of. Figure 5 steps #1 and #2 with all the CEs that is aware of. Figure 5 steps #1 and #2
illustrates the FE associating with CE#1 as the master and then illustrates the FE associating with CE#1 as the master and then
proceeding to steps #3I to #3N the association with backup CE's CE#2 proceeding to steps #3I to #3N the association with backup CE's CE#2
to CE#N. If the FE fails to connect or associate with some CEs, the to CE#N. If the FE fails to connect or associate with some CEs, the
FE MAY flag them as unreachable to avoid continuous attempts to FE MAY flag them as unreachable to avoid continuous attempts to
connect. The FE MAY retry to reassociate with unreachable CEs when connect. The FE MAY retry to reassociate with unreachable CEs when
possible. possible.
When the master CE for any reason is considered to be down, then the When the master CE for any reason is considered to be down, then the
skipping to change at page 17, line 12 skipping to change at page 17, line 26
[RFC3746] Yang, L., Dantu, R., Anderson, T., and R. Gopal, [RFC3746] Yang, L., Dantu, R., Anderson, T., and R. Gopal,
"Forwarding and Control Element Separation (ForCES) "Forwarding and Control Element Separation (ForCES)
Framework", RFC 3746, April 2004. Framework", RFC 3746, April 2004.
[RFC5812] Halpern, J. and J. Hadi Salim, "Forwarding and Control [RFC5812] Halpern, J. and J. Hadi Salim, "Forwarding and Control
Element Separation (ForCES) Forwarding Element Model", Element Separation (ForCES) Forwarding Element Model",
RFC 5812, March 2010. RFC 5812, March 2010.
1. Appendix I - New FEPO version 1. Appendix I - New FEPO version
XXX: Describe this to conform to LFB extensions as prescribed in the <LFBLibrary xmlns="urn:ietf:params:xml:ns:forces:lfbmodel:1.0"
model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" provides="FEPO">
<dataTypeDefs>
<LFBLibrary xmlns="http://ietf.org/forces/1.0/lfbmodel" <dataTypeDef>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <name>FEHBPolicyValues</name>
xsi:schemaLocation="http://ietf.org/forces/1.0/lfbmodel D:\Workspace\ForCES\XML\LFBSchema.xsd" <synopsis>
provides="FEPO"> The possible values of FE heartbeat policy
<!-- XXX --> </synopsis>
<dataTypeDefs> <atomic>
<dataTypeDef> <baseType>uchar</baseType>
<name>CEHBPolicyValues</name> <specialValues>
<synopsis> <specialValue value="0">
The possible values of CE heartbeat policy
</synopsis>
<atomic>
<baseType>uchar</baseType>
<specialValues>
<specialValue value="0">
<name>CEHBPolicy0</name>
<synopsis>
The CE heartbeat policy 0
</synopsis>
</specialValue>
<specialValue value="1">
<name>CEHBPolicy1</name>
<synopsis>
The CE heartbeat policy 1
</synopsis>
</specialValue>
</specialValues>
</atomic>
</dataTypeDef>
<dataTypeDef>
<name>FEHBPolicyValues</name>
<synopsis>
The possible values of FE heartbeat policy
</synopsis>
<atomic>
<baseType>uchar</baseType>
<specialValues>
<specialValue value="0">
<name>FEHBPolicy0</name> <name>FEHBPolicy0</name>
<synopsis> <synopsis>
The FE heartbeat policy 0 The FE heartbeat policy 0
</synopsis> </synopsis>
</specialValue> </specialValue>
<specialValue value="1"> <specialValue value="1">
<name>FEHBPolicy1</name> <name>FEHBPolicy1</name>
<synopsis> <synopsis>
The FE heartbeat policy 1 The FE heartbeat policy 1
</synopsis> </synopsis>
</specialValue> </specialValue>
</specialValues> </specialValues>
</atomic> </atomic>
</dataTypeDef>
<dataTypeDef> </dataTypeDef>
<name>FERestartPolicyValues</name> <dataTypeDef>
<name>HAModeValues</name>
<synopsis>
The possible values of HA modes
</synopsis>
<atomic>
<baseType>uchar</baseType>
<specialValues>
<specialValue value="0">
<name>NoHA</name>
<synopsis> <synopsis>
The possible values of FE restart policy The FE is not running in HA mode
</synopsis> </synopsis>
<atomic> </specialValue>
<baseType>uchar</baseType> <specialValue value="1">
<specialValues> <name>ColdStandby</name>
<specialValue value="0">
<name>FERestartPolicy0</name>
<synopsis>
The FE restart policy 0
</synopsis>
</specialValue>
</specialValues>
</atomic>
</dataTypeDef>
<dataTypeDef>
<name>CEFailoverPolicyValues</name>
<synopsis> <synopsis>
The possible values of CE failover policy The FE is running in HA mode cold Standby
</synopsis> </synopsis>
<atomic> </specialValue>
<baseType>uchar</baseType> <specialValue value="2">
<specialValues> <name>HotStandby</name>
<specialValue value="0"> <synopsis>
<name>CEFailoverPolicy0</name> The FE is running in HA mode hot Standby
<synopsis> </synopsis>
The CE failover policy 0 </specialValue>
No High Availability or Graceful Restart. </specialValues>
</synopsis> </atomic>
</specialValue> </dataTypeDef>
<dataTypeDef>
<name>FERestartPolicyValues</name>
<synopsis>
The possible values of FE restart policy
</synopsis>
<atomic>
<baseType>uchar</baseType>
<specialValues>
<specialValue value="0">
<name>FERestartPolicy0</name>
<synopsis>
The FE restart policy 0
</synopsis>
</specialValue>
</specialValues>
</atomic>
</dataTypeDef>
<dataTypeDef>
<name>CEHBPolicyValues</name>
<synopsis>The possible values of CE heartbeat policy</synopsis>
<atomic>
<baseType>uchar</baseType>
<specialValues>
<specialValue value="0">
<name>CEHBPolicy0</name>
<synopsis>The CE heartbeat policy 0</synopsis>
</specialValue>
<specialValue value="1">
<name>CEHBPolicy1</name>
<synopsis>The CE heartbeat policy 1</synopsis>
</specialValue>
</specialValues>
</atomic>
</dataTypeDef>
<dataTypeDef>
<name>FEHACapab</name>
<synopsis>
The supported HA features
</synopsis>
<atomic>
<baseType>uchar</baseType>
<specialValues>
<specialValue value="0">
<name>GracefullRestart</name>
<synopsis>
The FE supports Graceful Restart
</synopsis>
</specialValue>
<specialValue value="1">
<name>HA</name>
<synopsis>
The FE supports cold-standby mode
</synopsis>
</specialValue>
<specialValue value="2">
<name>HOtStandBy</name>
<synopsis>
The FE supports hot-standby mode
</synopsis>
</specialValue>
</specialValues>
</atomic>
</dataTypeDef>
<dataTypeDef>
<name>CEStatusType</name>
<synopsis>
Status values. Status for each CE.
</synopsis>
<atomic>
<baseType>uchar</baseType>
<specialValues>
<specialValue value="0">
<name>Disconnected</name>
<synopsis>
No connection attempt with the CE yet.
</synopsis>
</specialValue>
<specialValue value="1"> <specialValue value="1">
<name>CEFailoverPolicy1</name> <name>Connected</name>
<synopsis> <synopsis>
Graceful Restart The FE has connected with the CE.
</synopsis> </synopsis>
</specialValue> </specialValue>
<specialValue value="2"> <specialValue value="2">
<name>CEFailoverPolicy2</name> <name>Associated</name>
<synopsis> <synopsis>
High Availability without Graceful Restart The FE has associated with the CE.
</synopsis> </synopsis>
</specialValue> </specialValue>
<specialValue value="3"> <specialValue value="3">
<name>CEFailoverPolicy3</name> <name>Lost_Connection</name>
<synopsis> <synopsis>
High Availability with Graceful Restart The FE was associated with the CE
</synopsis> but lost the connection.
</specialValue> </synopsis>
</specialValues> </specialValue>
</atomic> <specialValue value="4">
</dataTypeDef> <name>Unreachable</name>
<dataTypeDef>
<name>FEHACapab</name>
<synopsis> <synopsis>
The supported HA features The CE is deemed as unreachable by the FE.
</synopsis> </synopsis>
<atomic> </specialValue>
<baseType>uchar</baseType> </specialValues>
<specialValues> </atomic>
<specialValue value="0"> </dataTypeDef>
<name>GracefullRestart</name> <dataTypeDef>
<synopsis> <name>AllCEType</name>
The FE supports Graceful Restart <synopsis>
</synopsis> Table Type for AllCE component.
</specialValue> </synopsis>
<specialValue value="1"> <struct>
<name>HA</name> <component componentID="1">
<synopsis> <name>CEID</name>
The FE supports HA <synopsis>ID of the CE</synopsis>
</synopsis> <typeRef>uint32</typeRef>
</specialValue> </component>
</specialValues> <component componentID="2">
</atomic> <name>CEStatus</name>
</dataTypeDef> <synopsis>Status of the CE</synopsis>
<dataTypeDef> <typeRef>CEStatusType</typeRef>
<name>CEStatusType</name> </component>
<synopis> </struct>
Status values. Status for each CE. </dataTypeDef>
</dataTypeDefs>
</synopis> <LFBClassDefs>
<atomic> <LFBClassDef LFBClassID="2">
<baseType>uchar</baseType>
<specialValues>
<specialValue value="0">
<name>Disconnected</name>
<synopsis>
No connection attempt with the CE yet.
</synopsis>
</specialValue>
<specialValue value="1">
<name>Connected</name>
<synopsis>
The FE has connected with the CE.
</synopsis>
</specialValue>
<specialValue value="2">
<name>Associated</name>
<synopsis>
The FE has associated with the CE.
</synopsis>
</specialValue>
<specialValue value="3">
<name>Lost_Connection</name>
<synopsis>
The FE was associated with the CE
but lost the connection.
</synopsis>
</specialValue>
<specialValue value="4">
<name>Unreachable</name>
<synopsis>
The CE is deemed as unreachable by the FE.
</synopsis>
</specialValue>
</specialValues>
</atomic>
</dataTypeDef>
<dataTypeDef>
<name>AllCEType</name>
<synopsis>
Table Type for AllCE component.
</synopsis>
<struct>
<component componentID="1">
<name>CEID</name>
<synopsis>ID of the CE</synopsis>
<typeRef>uint32</typeRef>
</component>
<component componentID="2">
<name>CEStatus</name>
<synopsis>Status of the CE</synopsis>
<typeRef>CEStatusType</typeRef>
</component>
</struct>
</dataTypeDef>
</dataTypeDefs>
<LFBClassDefs>
<LFBClassDef LFBClassID="2">
<name>FEPO</name> <name>FEPO</name>
<synopsis> <synopsis>
The FE Protocol Object The FE Protocol Object
</synopsis> </synopsis>
<version>2.0</version> <version>2.0</version>
<components> <components>
<component componentID="1" access="read-only"> <component componentID="1" access="read-only">
<name>CurrentRunningVersion</name> <name>CurrentRunningVersion</name>
<synopsis>Currently running ForCES version</synopsis> <synopsis>Currently running ForCES version</synopsis>
<typeRef>u8</typeRef> <typeRef>u8</typeRef>
</component> </component>
<component componentID="2" access="read-only"> <component componentID="2" access="read-only">
<name>FEID</name> <name>FEID</name>
<synopsis>Unicast FEID</synopsis> <synopsis>Unicast FEID</synopsis>
<typeRef>uint32</typeRef>
</component>
<component componentID="3" access="read-write">
<name>MulticastFEIDs</name>
<synopsis>
the table of all multicast IDs
</synopsis>
<array type="variable-size">
<typeRef>uint32</typeRef> <typeRef>uint32</typeRef>
</array> </component>
</component> <component componentID="3" access="read-write">
<component componentID="4" access="read-write"> <name>MulticastFEIDs</name>
<name>CEHBPolicy</name> <synopsis>
<synopsis> the table of all multicast IDs
The CE Heartbeat Policy </synopsis>
</synopsis> <array type="variable-size">
<typeRef>CEHBPolicyValues</typeRef> <typeRef>uint32</typeRef>
</component> </array>
<component componentID="5" access="read-write"> </component>
<name>CEHDI</name> <component componentID="4" access="read-write">
<synopsis> <name>CEHBPolicy</name>
The CE Heartbeat Dead Interval in millisecs <synopsis>
</synopsis> The CE Heartbeat Policy
<typeRef>uint32</typeRef> </synopsis>
</component> <typeRef>CEHBPolicyValues</typeRef>
<component componentID="6" access="read-write"> </component>
<name>FEHBPolicy</name> <component componentID="5" access="read-write">
<synopsis> <name>CEHDI</name>
The FE Heartbeat Policy <synopsis>
</synopsis> The CE Heartbeat Dead Interval in millisecs
<typeRef>FEHBPolicyValues</typeRef>
</component> </synopsis>
<component componentID="7" access="read-write"> <typeRef>uint32</typeRef>
<name>FEHI</name> </component>
<synopsis> <component componentID="6" access="read-write">
The FE Heartbeat Interval in millisecs <name>FEHBPolicy</name>
</synopsis> <synopsis>
<typeRef>uint32</typeRef> The FE Heartbeat Policy
</component> </synopsis>
<component componentID="8" access="read-write"> <typeRef>FEHBPolicyValues</typeRef>
<name>CEID</name> </component>
<synopsis> <component componentID="7" access="read-write">
The Primary CE this FE is associated with <name>FEHI</name>
</synopsis> <synopsis>
<typeRef>uint32</typeRef> The FE Heartbeat Interval in millisecs
</component> </synopsis>
<component componentID="9" access="read-write"> <typeRef>uint32</typeRef>
<name>AllCEs</name> </component>
<synopsis> <component componentID="8" access="read-write">
The table of all CEs. <name>CEID</name>
</synopsis> <synopsis>
<array type="variable-size"> The Primary CE this FE is associated with
<typeRef>AllCEType</typeRef> </synopsis>
</array> <typeRef>uint32</typeRef>
</component> </component>
<component componentID="10" access="read-write"> <component componentID="9" access="read-write">
<name>CEFailoverPolicy</name> <name>BackupCEs</name>
<synopsis>
The CE Failover Policy
</synopsis>
<typeRef>CEFailoverPolicyValues</typeRef>
</component>
<component componentID="11" access="read-write">
<name>CEFTI</name>
<synopsis>
The CE Failover Timeout Interval in millisecs
</synopsis>
<typeRef>uint32</typeRef>
</component>
<component componentID="12" access="read-write">
<name>FERestartPolicy</name>
<synopsis>
The FE Restart Policy
</synopsis>
<typeRef>FERestartPolicyValues</typeRef>
</component>
<component componentID="13" access="read-write">
<name>LastCEID</name>
<synopsis> <synopsis>
The Primary CE this FE was last associated with The table of all backup CEs other than the primary
</synopsis> </synopsis>
<typeRef>uint32</typeRef> <array type="variable-size">
</component> <typeRef>uint32</typeRef>
</components> </array>
<capabilities> </component>
<capability componentID="30"> <component componentID="10" access="read-write">
<name>SupportableVersions</name> <name>CEFailoverPolicy</name>
<synopsis> <synopsis>
the table of ForCES versions that FE supports The CE Failover Policy
</synopsis> </synopsis>
<array type="variable-size"> <typeRef>CEFailoverPolicyValues</typeRef>
<typeRef>u8</typeRef> </component>
</array> <component componentID="11" access="read-write">
</capability> <name>CEFTI</name>
<capability componentID="31"> <synopsis>
<name>HACapabilities</name> The CE Failover Timeout Interval in millisecs
<synopsis> </synopsis>
the table of HA capabilities the FE supports <typeRef>uint32</typeRef>
</synopsis> </component>
<array type="variable-size"> <component componentID="12" access="read-write">
<typeRef>FEHACapab</typeRef> <name>FERestartPolicy</name>
</array> <synopsis>
</capability> The FE Restart Policy
</synopsis>
<typeRef>FERestartPolicyValues</typeRef>
</component>
<component componentID="13" access="read-write">
<name>LastCEID</name>
<synopsis>
The Primary CE this FE was last associated with
</synopsis>
<typeRef>uint32</typeRef>
</component>
<component componentID="14" access="read-only">
<name>AllCEs</name>
<synopsis>
The table of all CEs.
</synopsis>
<array type="variable-size">
<typeRef>AllCEType</typeRef>
</array>
</component>
<component componentID="15" access="read-write">
<name>HAMode</name>
<synopsis>
Mode selection for action in HA after loss of master CE
</synopsis>
<typeRef>HAModeValues</typeRef>
</component>
<component componentID="16" access="read-write">
<name>AcceptBackupGets</name>
<synopsis>If true, the FE will accept and respond to Queries
from BackupCEs.</synopsis>
<typeRef>Boolean</typeRef>
</component>
</components>
<capabilities>
<capability componentID="30">
<name>SupportableVersions</name>
<synopsis>
the table of ForCES versions that FE supports
</synopsis>
<array type="variable-size">
<typeRef>uchar</typeRef>
</array>
</capability>
<capability componentID="31">
<name>HACapabilities</name>
<synopsis>
the table of HA capabilities the FE supports
</synopsis>
<array type="variable-size">
<typeRef>FEHACapab</typeRef>
</array>
</capability>
<capability componentID="32">
<name>MaximumMultipleCEAssocations</name>
<synopsis>
The number of CEs this FE can associate with at the same
time
</synopsis>
<atomic>
<baseType>uint32</baseType>
</atomic>
</capability>
</capabilities> </capabilities>
<events baseID="61"> <events baseID="61">
<event eventID="1"> <event eventID="1">
<name>PrimaryCEDown</name> <name>PrimaryCEDown</name>
<synopsis> <synopsis>
The pimary CE has changed The pimary CE has changed
</synopsis> </synopsis>
<eventTarget> <eventTarget>
<eventField>LastCEID</eventField>
</eventTarget>
<eventChanged/>
<eventReports>
<eventReport>
<eventField>LastCEID</eventField> <eventField>LastCEID</eventField>
</eventReport> </eventTarget>
</eventReports> <eventChanged/>
<eventReports>
<eventReport>
<eventField>LastCEID</eventField>
</eventReport>
</eventReports>
</event>
<event eventID="2">
<name>HAPrimaryCEDown</name>
<synopsis>The primary CE has changed</synopsis>
<eventTarget>
<eventField>LastCEID</eventField>
</eventTarget>
<eventChanged/>
<eventReports>
<eventReport>
<eventField>CEID</eventField>
<eventField>LastCEID</eventField>
</eventReport>
</eventReports>
</event>
</event>
<event eventID="2">
<name>HAPrimaryCEDown</name>
<synopsis>The primary CE has changed</synopsis>
<eventTarget>
<eventField>LastCEID</eventField>
</eventTarget>
<eventChanged/>
<eventReports>
<eventReport>
<eventField>CEID</eventField>
<eventField>LastCEID</eventField>
</eventReport>
</eventReports>
</event>
</events> </events>
</LFBClassDef> </LFBClassDef>
</LFBClassDefs> </LFBClassDefs>
</LFBLibrary> </LFBLibrary>
Authors' Addresses Authors' Addresses
Kentaro Ogawa Kentaro Ogawa
NTT Corporation NTT Corporation
3-9-11 Midori-cho 3-9-11 Midori-cho
Musashino-shi, Tokyo 180-8585 Musashino-shi, Tokyo 180-8585
Japan Japan
Email: ogawa.kentaro@lab.ntt.co.jp Email: ogawa.kentaro@lab.ntt.co.jp
 End of changes. 49 change blocks. 
391 lines changed or deleted 446 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/