Internet Engineering Task Force W. Wang Internet-Draft Zhejiang Gongshang University Intended status: Informational K. Ogawa Expires: January 12, 2012 NTT Corporation E. Haleplidis University of Patras M. Gao Hangzhou BAUD Networks J. Hadi Salim Mojatatu Networks July 11, 2011 Interoperability Report for Forwarding and Control Element Separation (ForCES) draft-ietf-forces-interop-02 Abstract This document captures test results from the second Forwarding and control Element Separation (ForCES) interoperability test which took place on February 24-25, 2011 in the Internet Technology Lab (ITL) of Zhejiang Gongshang University, China. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 12, 2012. Copyright Notice Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents Wang, et al. Expires January 12, 2012 [Page 1] Internet-Draft ForCES Interop Report July 2011 (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. ForCES Protocol . . . . . . . . . . . . . . . . . . . . . 3 1.2. ForCES FE Model . . . . . . . . . . . . . . . . . . . . . 3 1.3. Transport Mapping Layer . . . . . . . . . . . . . . . . . 3 2. Terminology and Conventions . . . . . . . . . . . . . . . . . 5 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 2.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 5 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1. Date, Location, and Participants . . . . . . . . . . . . . 7 3.2. Testbed Configuration . . . . . . . . . . . . . . . . . . 7 3.2.1. Participants Access . . . . . . . . . . . . . . . . . 7 3.2.2. Testbed Configuration . . . . . . . . . . . . . . . . 8 4. Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.1. Scenario 1 - LFB Operation . . . . . . . . . . . . . . . . 11 4.2. Scenario 2 - TML with IPSec . . . . . . . . . . . . . . . 11 4.3. Scenario 3 - CE High Availability . . . . . . . . . . . . 12 4.4. Scenario 4 - Packet forwarding . . . . . . . . . . . . . . 14 5. Test Results . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.1. LFB Operation Test . . . . . . . . . . . . . . . . . . . . 17 5.2. TML with IPSec Test . . . . . . . . . . . . . . . . . . . 22 5.3. CE High Availability Test . . . . . . . . . . . . . . . . 23 5.4. Packet Forwarding Test . . . . . . . . . . . . . . . . . . 24 6. Discussions . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.1. On Data Encapsulation Format . . . . . . . . . . . . . . . 27 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 30 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 31 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 10. Security Considerations . . . . . . . . . . . . . . . . . . . 33 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 34 11.1. Normative References . . . . . . . . . . . . . . . . . . . 34 11.2. Informative References . . . . . . . . . . . . . . . . . . 34 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 36 Wang, et al. Expires January 12, 2012 [Page 2] Internet-Draft ForCES Interop Report July 2011 1. Introduction This document captures the results of the second interoperability test of the Forwarding and control Element Separation (ForCES) Framework which took place February 24-25, 2011 in the Internet Technology Lab (ITL) of Zhejiang Gongshang University, China. The test involved several documents namely: ForCES protocol [RFC5810], ForCES FE model [RFC5812], ForCES TML [RFC5811], ForCES LFB Library [I-D.ietf-forces-lfb-lib] and ForCES CE HA specification [I-D.ietf-forces-ceha] Three independent ForCES implementations participated in the test. Scenarios of ForCES LFB Operation, TML with IPSec, CE High Availability, and Packet Forwarding are constructed. Series of testing items for every scenario are carried out and interoperability results are achieved. Extended Wireshark and extended tcpdump are used to verify the results. The first interoperability test on ForCES was held in July 2008 at the University of Patras, Greece. The test focussed on validating the basic semantics of the ForCES protocol and ForCES FE model. The test results were captured by RFC 6053[RFC6053]. 1.1. ForCES Protocol The ForCES protocol works in a master-slave mode in which FEs are slaves and CEs are masters. The protocol includes commands for transport of Logical Function Block (LFB) configuration information, association setup, status, and event notifications, etc. The reader is encouraged to read the ForCES protocol specification RFC 5810 [RFC5810] for further information. 1.2. ForCES FE Model The ForCES FE modelRFC 5812 [RFC5812] presents a formal way to define FE Logical Function Blocks (LFBs) using XML. LFB configuration components, capabilities, and associated events are defined when the LFB is formally created. The LFBs within the FE are accordingly controlled in a standardized way by the ForCES protocol. 1.3. Transport Mapping Layer The ForCES Transport Mapping Layer (TML) transports the ForCES Protocol Layer (PL) messages. The TML is where the issues of how to achieve transport level reliability, congestion control, multicast, ordering, etc are handled. It is expected that more than one TML will be standardized. The various possible TMLs could vary their implementations based on the capabilities of underlying media and Wang, et al. Expires January 12, 2012 [Page 3] Internet-Draft ForCES Interop Report July 2011 transport. However, since each TML is standardized, interoperability is guaranteed as long as both endpoints support the same TML. All ForCES Protocol Layer implementations MUST be portable across all TMLs. Although more than one TML may be standardized for the ForCES Protocol, for the purposes of the interoperability test, the mandated MUST IMPLEMENT SCTP TML [RFC5811] will be used. Wang, et al. Expires January 12, 2012 [Page 4] Internet-Draft ForCES Interop Report July 2011 2. Terminology and Conventions 2.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2.2. Definitions This document follows the terminology defined by ForCES related documents, including RFC3654, RFC3746, RFC5810, RFC5811, RFC5812, RFC5813, etc. Some definitions are repeated below for clarity. Control Element (CE) - A logical entity that implements the ForCES protocol and uses it to instruct one or more FEs on how to process packets. CEs handle functionality such as the execution of control and signaling protocols. Forwarding Element (FE) - A logical entity that implements the ForCES protocol. FEs use the underlying hardware to provide per- packet processing and handling as directed/controlled by one or more CEs via the ForCES protocol. LFB (Logical Functional Block) - The basic building block that is operated on by the ForCES protocol. The LFB is a well defined, logically separable functional block that resides in an FE and is controlled by the CE via the ForCES protocol. The LFB may reside at the FE's datapath and process packets or may be purely an FE control or configuration entity that is operated on by the CE. Note that the LFB is a functionally accurate abstraction of the FE's processing capabilities, but not a hardware-accurate representation of the FE implementation. LFB Class and LFB Instance - LFBs are categorized by LFB Classes. An LFB Instance represents an LFB Class (or Type) existence. There may be multiple instances of the same LFB Class (or Type) in an FE. An LFB Class is represented by an LFB Class ID, and an LFB Instance is represented by an LFB Instance ID. As a result, an LFB Class ID associated with an LFB Instance ID uniquely specifies an LFB existence. LFB Metadata - Metadata is used to communicate per-packet state from one LFB to another, but is not sent across the network. The FE model defines how such metadata is identified, produced, and consumed by the LFBs. It defines the functionality but not how metadata is encoded within an implementation. Wang, et al. Expires January 12, 2012 [Page 5] Internet-Draft ForCES Interop Report July 2011 LFB Components - Operational parameters of the LFBs that must be visible to the CEs are conceptualized in the FE model as the LFB components. The LFB components include, for example, flags, single-parameter arguments, complex arguments, and tables that the CE can read and/or write via the ForCES protocol. ForCES Protocol - While there may be multiple protocols used within the overall ForCES architecture, the term "ForCES protocol" and "protocol" refer to the "Fp" reference points in the ForCES framework in [RFC3746]. This protocol does not apply to CE-to-CE communication, FE-to-FE communication, or to communication between FE and CE managers. Basically, the ForCES protocol works in a master-slave mode in which FEs are slaves and CEs are masters. ForCES Protocol Transport Mapping Layer (ForCES TML) - A layer in ForCES protocol architecture that uses the capabilities of existing transport protocols to specifically address protocol message transportation issues, such as how the protocol messages are mapped to different transport media (like TCP, IP, ATM, Ethernet, etc.), and how to achieve and implement reliability, multicast, ordering, etc. The ForCES TML specifications are detailed in separate ForCES documents, one for each TML. Wang, et al. Expires January 12, 2012 [Page 6] Internet-Draft ForCES Interop Report July 2011 3. Overview 3.1. Date, Location, and Participants The second ForCES interoperability test meeting was held by IETF ForCES Working Group on February 24-25, 2011, and was chaired by Jamal Hadi Salim, the current ForCES Working Group co-chair. Three independent ForCES implementations participated in the test: * Zhejiang Gongshang University/Hangzhou BAUD Corparation of Inforamtion and Networks Technology (Hangzhou BAUD Networks), China. This implementation is referred to as "China" or in some cases "C" in the document for the sake of brevity. * NTT Corporation, Japan. This implementation is referred to as "Japan" or in some cases "J" in the document for the sake of brevity. * The University of Patras, Greece. This implementation is referred to as "Greece" or in some cases "G" in the document for the sake of brevity. Two other organizations, Mojatatu Networks and Hangzhou BAUD Networks Corporation, which independently extended two different well known public domain protocol analyzers, Ethereal/Wireshark [Ethereal] and Tcpdump [Tcpdump], also participated in the interop test. During the interoperability test, the two protocol analyzers were used to verify the validity of ForCES protocol messages and in some cases semantics. Some issues related to interoperability among implementations were discovered. Most of the issues were solved on site during the test. The most contentious issue found was on the format of encapsulation for protocol TLV (Refer to Section 6.1). Some errata related to ForCES document were found by the interoperability test. The errata has been reported to related IETF RFCs. At times, interoperability testing was exercised between 2 instead of all three representative implementations due to the third one lacking a specific feature; however, in ensuing discussions, all implementors mentioned they will be implementing any missing features in the future. 3.2. Testbed Configuration 3.2.1. Participants Access Japan and China physically attended on site at the Internet Technology Lab (ITL) of Zhejiang Gongshang University in China. The University of Patras implementation joined remotely from Greece. The Wang, et al. Expires January 12, 2012 [Page 7] Internet-Draft ForCES Interop Report July 2011 chair, Jamal Hadi Salim, joined remotely from Canada by using the Teamviewer as the monitoring tool. The approach is as shown in Figure 1. In the figure, FE/CE refers to FE or CE that the implementor may act alternatively. +---------+ +----+ +----------+ | FE/CE | | | +---|Monitoring| | China |-----| | /\/\/\/\/\ | |(TeamViewer) +---------+ | | \Internet/ | | Canada | |LAN |----/ \--| +----------+ +---------+ | | \/\/\/\/\/ | +----------+ | FE/CE |-----| | | | FE/CE | | Japan | | | +---| Greece | +---------+ +----+ +----------+ Figure 1: Access for Participants All CEs and FEs SHALL implement IPSec security in the TML. For security, firewalls MUST be used that will allow only the specific IPs and the SCTP ports defined in the ForCES SCTP-TML [RFC5811]. 3.2.2. Testbed Configuration Hardwares and softwares including CEs and FEs from China and Japan implementions that were located within the ITL Lab of Zhejiang Gongshang University, were connected together using Ethernet switches. The configuration can be seen in Figure 2. In the figure, the SmartBits is a third-party supplied routing protocol testing machine, which acts as a router running OSPF and RIP and exchanges routing protocol messages with ForCES routers in the network. The Internet is connected via an ADSL channel. Wang, et al. Expires January 12, 2012 [Page 8] Internet-Draft ForCES Interop Report July 2011 /\/\/\/\/\ \Internet/ / \ \/\/\/\/\/ | |124.90.146.218 (ADSL) | +------------------------------------------------------------------+ | LAN (10.20.0.0/24) | +------------------------------------------------------------------+ | | | | | | | | | | | | |.222 |.230 |.221 |.179 |.231 |.220 +-----+ +-----+ +-----+ +-----+ +-----+ +---------+ | CE | | CE | | | | | | | | Protocol| |China| |Japan| | FE1 |.1 .2| FE |.1 .2| FE2 | | Analyzer| +-----+ +-----+ |China|---------|Japan|----------|China| +---------+ +---------| |192.169. | | 192.168. | |-------+ | .2 +-----+ 20.0.24 +-----+ 30.0/24 +-----+ .2 | | .12| |.12 | | | | | 192.168.50.0/24 | | 192.168.60.0/24 | 192.168.10.0/24 192.168.40.0/24 | .1 | |.11 |.11 |.1 +--------+ +---------------------------------------+ +--------+ |Terminal| | Smartbits | |Terminal| +--------+ +---------------------------------------+ +--------+ Figure 2: Testbed Configuration Located in ITL Lab,China Hardwares and Softwares (CE and FE) of Greece that were located within the University of Patras, Greece, were connected together using LAN as shown in Figure 3. The Internet is connected via a VPN channel. Wang, et al. Expires January 12, 2012 [Page 9] Internet-Draft ForCES Interop Report July 2011 /\/\/\/\/\ \Internet/ / \ \/\/\/\/\/ | |150.140.254.110(VPN) | +------------------------------------+ | LAN | +------------------------------------+ | | | | | | +------+ +--------+ +------+ | FE | |Protocol| | CE | |Greece| |Analyzer| |Greece| +------+ +--------+ +------+ Figure 3: Testbed Configuration Located in the University of Patras,Greece Above Testbed configuations can satisfy requirements of all the interoperability test scenarios that are mentioned in this document. Wang, et al. Expires January 12, 2012 [Page 10] Internet-Draft ForCES Interop Report July 2011 4. Scenarios 4.1. Scenario 1 - LFB Operation This scenario is to test the interoperability on LFB operations among the participants. The connection diagram for the participants is as shown in Figure 4. +------+ +------+ +------+ +------+ +------+ +------+ | CE | | CE | | CE | | CE | | CE | | CE | | China| | Japan| | China| |Greece| | Japan| |Greece| +------+ +------+ +------+ +------+ +------+ +------+ | | | | | | | | | | | | +------+ +------+ +------+ +------+ +------+ +------+ | FE | | FE | | FE | | FE | | FE | | FE | |Japan | |China | |Greece| |China | |Greece| |Japan | +------+ +------+ +------+ +------+ +------+ +------+ Figure 4: Scenario for LFB Operation In order to make interoperability more credible,the three implementors carried out the test in an alternative way acting as a CE or an FE. As a result, every operation should be tested with 6 combinations all three participants, as shown in Figure 4. The test scenario is designed with the following purposes: Firstly, the scenario is designed to verify all kinds of protocol messages with their complex data formats, which are defined in RFC 5810. Specially, we try to verify the data format of a PATH-DATA with nested PATH-DATAs, and the operation(SET, GET, DEL) of an array or an array with a nested array. Second,the scenario is designed to verify the definition of ForCES LFB Library[FORCES-LFBLIB], which defines a base set of ForCES LFB classes for typical router functions. Successful test under this scenario also means the validity of the LFB definitions. 4.2. Scenario 2 - TML with IPSec This scenario is designed to implement a TML with IPSec, which is the requirement by RFC 5811. TML with IPSec was not implemented in the first ForCES interoperability test as reported by RFC 6053. For this reason, in the second interoperability test, we specificially designed the test scenario to verify the TML over IPSec channel. In this scenario, tests on LFB operations for Scenario 1 were just Wang, et al. Expires January 12, 2012 [Page 11] Internet-Draft ForCES Interop Report July 2011 repeated only with the difference that the IPSec TML was adopted. In this way, we try to verify whether all interactions between CE and FE can be made correctly under an IPSec TML enviroment. The connection diagram for this scenario is shown as Figure 5. Because of system difficulty to deploy IPSec over TML in Greece, the text only took place between China and Japan. +------+ +------+ | CE | | CE | | China| | Japan| +------+ +------+ | | |TML over IPSec |TML over IPSec +------+ +------+ | FE | | FE | |Japan | |China | +------+ +------+ Figure 5: Scenario for LFB Operation with TML over IPSec In this scenario, ForCES TML was run over IPSec channel. Implementors joined in this interoperability have used the same third-party software 'racoon' to have established the IPSec channel. China and Japan have made a successful test with the scenario, and the following items have been realized: o Internet Key Exchange (IKE) with certificates for endpoint authentication. o Transport Mode Encapsulating Security Payload (ESP). HMAC-SHA1-96 [RFC2404] for message integrity protection. 4.3. Scenario 3 - CE High Availability CE High Availability (CEHA) was also tested in this interoperability test based on the ForCES CEHA document [ForCES-CEHA]. The design of the setup and the scenario for the CEHA are as simple as possible to focus mostly on the mechanics of the CEHA, which are: o Associating with more than one CEs. o Switching to backup CE on master CE fail. The connection diagram for the scenario is as shown in Figure 6. Wang, et al. Expires January 12, 2012 [Page 12] Internet-Draft ForCES Interop Report July 2011 master standby master standby +------+ +------+ +------+ +------+ | CE | | CE | | CE | | CE | | China| |Greece| |Japan | |Greece| +------+ +------+ +------+ +------+ | | | | +----------+ +-----------+ | | +------+ +------+ | FE | | FE | |Greece| |Greece| +------+ +------+ (a) (b) Figure 6: Scenario for CE High Availability In this scenario one FE would be connected and associated with a master CE and a backup CE. In the pre-association phase, the FE would be configured to have China's or Japan's CE as master CE and Greece's CE as standby CE. The CEFailoverPolicy component of the FE Protocol Object LFB that specifies whether the FE is in High Availability mode (value 2 or 3) would either be set in the pre- association phase or in post-association phase by the master CE. Once the FE is associated with the master CE it will move to the post-association phase. Then when the CEFailoverPolicy value is set to 2 or 3, then it will then attempt to connect and associate with the standby CE. When the master CE is considered disconnected, either by TearDown, Loss of Heartbeats or Disconnected, FE would assume that the standby CE is now the master CE. FE will then send an Event Notification, Primary CE Down,to all associated CEs, only the standby CE in this case with the value of the new master CEID. The standby CE will then respond by setting with a configuration message the CEID of the FE Protocol Object with it's own ID, the same value, to confirm that the CE considers itself as the master as well. The steps of the CEHA scenario were the following: 1. In the pre-association phase, setup of FE with master CE and backup CE 2. FE connecting and associating with master CE. 3. When CEFailoverPolicy is set to 2 or 3, the FE will connect and associate with backup CE. Wang, et al. Expires January 12, 2012 [Page 13] Internet-Draft ForCES Interop Report July 2011 4. Once the master CE is considered disconnected then the FE chooses the first Associated backup CE. 5. It sends an Event Notification specifying that the master CE is down and who is now the master CE. 6. The new master CE sends a SET Configuration message to the FE setting the CEID value to who is now the new master CE completing the switch. 4.4. Scenario 4 - Packet forwarding This test scenario is to verify LFBs like RedirectIn, RedirectOut, IPv4NextHop, IPv4UcastLPM defined by the ForCES LFB library document[ForCES-LFBLIB], and more importantly, to verify the combination of the LFBs to implement IP packet forwarding. The connection diagram for this scenario is as Figure 7. +------+ | CE | | Japan| +------+ | ^ | | OSPF | +-------> +------+ +------+ +--------+ | FE | | OSPF | +--------+ |Terminal|------|China |-------|Router|------|Terminal| +--------+ +------+ +------+ +--------+ <--------------------------------------------> Packet Forwarding (a) +------+ | CE | | China| +------+ ^ | ^ OSPF | | | OSPF <-----+ | +-----> +-------+ +------+ +------+ +--------+ | OSPF | | FE | | OSPF | +--------+ |Terminal|----|Router |----|Japan |-----|Router|----|Terminal| +--------+ +-------+ +------+ +------+ +--------+ Wang, et al. Expires January 12, 2012 [Page 14] Internet-Draft ForCES Interop Report July 2011 <--------------------------------------------> Packet Forwarding (b) +------+ +------+ | CE | | CE | | Japan| | China| +------+ +------+ | ^ ^ | | | OSPF | | | +----------+ | +------+ +------+ +--------+ | FE | | FE | +--------+ |Terminal|------|China |-------|Japan |------|Terminal| +--------+ +------+ +------+ +--------+ <--------------------------------------------> Packet Forwarding (c) Figure 7: Scenario for IP Packet forwarding In case (a), a CE by Japan is connected to an FE by China to form a ForCES router. A Smartbits test machine with its routing protocol software are used to simulate an OSPF router and are connected with the ForCES router to try to exchange OSPF hello packets and LSA packets among them. Terminals are simulated by Smartbits to send and receive packets. As a result, the CE in the ForCES router need to be configured to run and support OSPF routing protocol. In case (b), a CE by China is connected to an FE by Japan to form a ForCES router. Two routers running OSPF are simulated and coneected to the ForCES router to test if the ForCES router can support OSPF protocol and support packet forwarding. In case (c), two ForCES rotuers are constructed. One is with CE by Japan and FE by China and the other is opposite. OSPF and packet forwarding are tested in the enviroment. Testing proccess for this scenario is as below: 1. Boot terminals and routers, and set IP addresses of their interfaces. Wang, et al. Expires January 12, 2012 [Page 15] Internet-Draft ForCES Interop Report July 2011 2. Boot CE and FE. 3. Establish association between CE and FE, and set IP addresses of FE__s interfaces. 4. Start OSPF among CE and routers, and set FIB on FE. 5. Send packets between terminals. Wang, et al. Expires January 12, 2012 [Page 16] Internet-Draft ForCES Interop Report July 2011 5. Test Results 5.1. LFB Operation Test The test result is as reported by Figure 8. For the convinience sake, as mentioned earlier, abbreviations of 'C' in the table means implementation from China,'J'Japan implementaion, and 'G' Greece implemenation. +-----+----+-----+-----+--------------+-------------------+---------+ |Test#| CE |FE(s)|Oper | LFB | Component | Result | | | | | | | /Capability | | +-----+----+-----+-----+--------------+-------------------+---------+ | 1 | C | J | | | | Success | | | J | C | | | | Success | | | G | C | GET | FEObject | LFBTopology | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 2 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | FEObject | LFBSelector | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 3 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherPHYCop | PHYPortID | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 4 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherPHYCop | AdminStatus | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 5 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherPHYCop | OperStatus | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 6 | C | J | | | | Success | Wang, et al. Expires January 12, 2012 [Page 17] Internet-Draft ForCES Interop Report July 2011 | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherPHYCop | AdminLinkSpeed | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 7 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherPHYCop | OperLinkSpeed | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 8 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherPHYCop | AdminDuplexSpeed | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 9 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherPHYCop | OperDuplexSpeed | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 10 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherPHYCop | CarrierStatus | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 11 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACIn | AdminStatus | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 12 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACIn | LocalMacAddresses | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | Wang, et al. Expires January 12, 2012 [Page 18] Internet-Draft ForCES Interop Report July 2011 | 13 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACIn | L2Bridging | Success | | | J | G | | | PathEnable | Success | | | G | J | | | | Success | | | | | | | | | | 14 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACIn | PromiscuousMode | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 15 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACIn | TxFlowControl | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 16 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACIn | RxFlowControl | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 17 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACIn | MACInStats | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 18 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACOut | AdminStatus | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 19 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACOut | MTU | Success | | | J | G | | | | Success | | | G | J | | | | Success | Wang, et al. Expires January 12, 2012 [Page 19] Internet-Draft ForCES Interop Report July 2011 | | | | | | | | | 20 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACOut | TxFlowControl | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 21 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACOut | TxFlowControl | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 22 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | EtherMACOut | MACOutStats | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 23 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | GET | ARP |PortV4AddrInfoTable| Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 24 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | SET | ARP |PortV4AddrInfoTable| Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 25 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | DEL | ARP |PortV4AddrInfoTable| Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 26 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | SET | EtherMACIn | LocalMACAddresses | Success | | | J | G | | | | Success | Wang, et al. Expires January 12, 2012 [Page 20] Internet-Draft ForCES Interop Report July 2011 | | G | J | | | | Success | | | | | | | | | | 27 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | SET | EtherMACIn | MTU | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 28 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | SET | IPv4NextHop | IPv4NextHopTable | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 29 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | SET | IPv4UcastLPM | IPv4PrefixTable | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 30 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | DEL | IPv4NextHop | IPv4NextHopTable | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 31 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | DEL | IPv4UcastLPM | IPv4PrefixTable | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 32 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | SET | EtherPHYCop | AdminStatus | Success | | | J | G | | | | Success | | | G | J | | | | Success | | | | | | | | | | 33 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | SET | Ether | VlanInputTable | Success | Wang, et al. Expires January 12, 2012 [Page 21] Internet-Draft ForCES Interop Report July 2011 | | J | G | | Classifier | | Success | | | G | J | | | | Success | | | | | | | | | | 34 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | DEL | Ether | VlanInputTable | Success | | | J | G | | Classifier | | Success | | | G | J | | | | Success | | | | | | | | | | 35 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | SET | Ether | VlanOutputTable | Success | | | J | G | | Encapsulator | | Success | | | G | J | | | | Success | | | | | | | | | | 36 | C | J | | | | Success | | | J | C | | | | Success | | | C | G | | | | Success | | | G | C | DEL | Ether | VlanOutputTable | Success | | | J | G | | Encapsulator | | Success | | | G | J | | | | Success | +-----+----+-----+-----+--------------+-------------------+---------+ Figure 8: LFB Operation Test Results 5.2. TML with IPSec Test In this scenario, ForCES TML will run over IPSec channel. Implementors joined this interoperability test use the same third- party tool software 'racoon' to establish IPSec channel. Some typical LFB operation tests as in Scenario 1 have been repeated with the new security TML. A note on this test is, because of the system difficulty to implement IPSec over TML, Greece did not join in the test. Therefore, this scenario only successfully took place between C and J. However, it is still valid to make the interoperability test among two participants. The TML with IPSec test results are reported by Figure 9. Wang, et al. Expires January 12, 2012 [Page 22] Internet-Draft ForCES Interop Report July 2011 +-----+----+-----+-----+--------------+-------------------+---------+ |Test#| CE |FE(s)|Oper | LFB | Component/ | Result | | | | | | | Capability | | +-----+----+-----+-----+--------------+-------------------+---------+ | 1 | C | J | GET | FEObject | LFBTopology | Success | | | J | C | | | | Success | | | | | | | | | | 2 | C | J | GET | FEObject | LFBSelectors | Success | | | J | C | | | | Success | | | | | | | | | | 3 | C | J | SET | Ether | VlanInputTable | Success | | | J | C | | Classifier | | Success | | | | | | | | | | 4 | C | J | DEL | Ether | VlanInputTable | Success | | | J | C | | Classifier | | Success | +-----+----+-----+-----+--------------+-------------------+---------+ Figure 9: TML with IPSec Test Results 5.3. CE High Availability Test In this scenario one FE will connect and associate with a master CE and a backup CE. When the master CE is considered disconnected the FE would attempt to find another associated CE to become the master CE. The CEHA scenario as is described in Scenario 3 was completed successfully for both setups. Due to a bug in the FE, a possible issue was caught. The bug in the FE introduced a delay in message handling of 1 second. The master CE was sending Heartbeats at a rate of one in 500milliseconds (2 per second). As heartbeats are of very low priority, the FE was working fine with associated only with the master CE. However when the FE attempted to associate with the backup CE the following issue occured. The FE was checking first for messages from all priorities from the master CE and if the master CE hasn't sent any messages then it would check the backup CE. So, when the FE was ordered to begin associating with the backup CE , it sent the Association setup message, the backup CE received it, responded back with an Association Setup result, but the FE never processed managed to process it. While the bug was fixed and the CEHA scenario was completed successfully, the issue still remains. This is actually an implementation issue of how the FE prioritizes incoming messages from Wang, et al. Expires January 12, 2012 [Page 23] Internet-Draft ForCES Interop Report July 2011 multiple CEs. The recommended approach is the following: o The FE SHOULD receive and handle messages first from the master CE on all priority channels to maintain proper functionality and then receive and handle messages from the backup CEs. o Only when the FE is attempting to associate with the backup CEs, then the FE SHOULD receive and handle messages per priority channel from all CEs. When all backup CEs are associated with or deemed unreachable, then the FE SHOULD return to receiving and handling messages first from the master CE. 5.4. Packet Forwarding Test As described in the ForCES LFB library [I-D.ietf-forces-lfb-lib], packet forwarding is implemented by a set of LFB classes that compose a processing path for packets. In this test scenario, as shown in Figure 7, a ForCES router running OSPF protocol should be construted. Moreover, a set of LFBs including RedirectIn, RedirectOut, IPv4UcastLPM, and IPv4NextHop LFBs should be constructed and be joined in a processing data path. RedirectIn and RedirectOut LFBs redirect OSPF hello and LSA packets from and to CE. Smartbits test machine is used to simulate an OSPF router and try to exchange the OSPF hello packet and LSA packet with CE in ForCES router. Cases (a) and (b) in Figure 7 both need a RedirectIn LFB to send OSPF packets generated by CE to FE by use of ForCES packet redirect messages. The OSPF packets are futher sent to an outside OSPF Router by the FE via forwarding LFBs including IPv4NextHop and IPv4UcastLPM LFBs. A RedirectOut LFB in FE is used to send OSPF packets received from outside OSPF Router to CE by ForCES packet redirect messages. By running OSPF protocol, CE in the ForCES router then can generate new routes and load them to routing table in FE. FE is then able to forward packets according to the routing table. The test is reported with the results in Figure 10 +-----+----+-----+-------------------------+--------------+---------+ |Test#| CE |FE(s)| Item | LFBs Related | Result | +-----+----+-----+-------------------------+--------------+---------+ | 1 | J | C | IPv4NextHopTable SET | IPv4NextHop | Success | | | | | | | | | 2 | J | C | IPv4PrefixTable SET | IPv4UcastLPM | Success | | | | | | | | | 3 | J | C |Redirect ospf packet from| RedirectIn | Success | | | | | CE to SmartBits | | | | | | | | | | Wang, et al. Expires January 12, 2012 [Page 24] Internet-Draft ForCES Interop Report July 2011 | 4 | J | C |Redirect ospf packet from| RedirectOut | Success | | | | | SmartBits to CE | | | | | | | | | | | 5 | J | C | Metadata in | RedirectOut | Success | | | | | redirect message | RedirectIn | | | | | | | | | | 6 | J | C |OSPF neiborhood discovery| RedirectOut | Success | | | | | | RedirectIn | | | | | | | | | | 7 | J | C | OSPF DD exchange | RedirectOut | Success | | | | | | RedirectIn | | | | | | | IPv4NextHop | | | | | | | | | | 8 | J | C | OSPF LSA exchange | RedirectOut | Success | | | | | | RedirectIn | | | | | | | IPv4NextHop | | | | | | | IPv4UcastLPM| | | | | | | | | | 9 | J | C | Data Forwarding | RedirectOut | | | | | | | RedirectIn | Success | | | | | | IPv4NextHop | | | | | | | IPv4UcastLPM| | | | | | | | | | 10 | C | J | IPv4NextHopTable SET | IPv4NextHop | Success | | | | | | | | | 11 | C | J | IPv4PrefixTable SET | IPv4UcastLPM| Success | | | | | | | | | 12 | C | J |Redirect ospf packet from| RedirectIn | Success | | | | | CE to other OSPF router | | | | | | | | | | | 13 | C | J |Redirect ospf packet from| RedirectOut | Success | | | | |other OSPF router to CE | | | | | | | | | | | 14 | C | J | Metadata in | RedirectOut | Success | | | | | redirect message | RedirectIn | | | | | | | | | | 15 | C | J |OSPF neiborhood discovery| RedirectOut | Success | | | | | | RedirectIn | | | | | | | | | | | | | | RedirectOut | | | 16 | C | J | OSPF DD exchange | RedirectIn | Failure | | | | | | IPv4NextHop | | | | | | | | | | 17 | C | J | OSPF LSA exchange | RedirectOut | | | | | | | RedirectIn | Failure | | | | | | IPv4NextHop | | | | | | | IPv4UcastLPM| | +-----+----+-----+-------------------------+--------------+---------+ Wang, et al. Expires January 12, 2012 [Page 25] Internet-Draft ForCES Interop Report July 2011 Figure 10: Packet Forwarding Test Results Comment on Test #16 and #17: The two test items failed. Note that Test #7 and #8 are exactly the same as these tests, only with CE and FE implementors are exchanged, and Test #12 and #13 show the redirect channel works well. As a result, it can be infered that the problem caused the test failure was almost certainly from the implementation of the related LFBs rather than from the ForCES protocol design problem, therefore the failure does not lead to the interoperability problem on ForCES. Wang, et al. Expires January 12, 2012 [Page 26] Internet-Draft ForCES Interop Report July 2011 6. Discussions 6.1. On Data Encapsulation Format In the first day of the test, it was found that the LFB inter- operations about tables all failed. The reason is found to be the different ForCES protocol data encapsulation method among different implementations. The encapsulation issues are detailed as below: Assuming that an LFB has two components, one a struct with ID 1 and an array with ID 2 with two components of u32 both per row. struct1: type struct, ID=1 components are: a, type u32, ID=1 b, type u32, ID=2 table1: type array, ID=2 components for each row are (a struct of): x, type u32, ID=1 y, type u32, ID=2 1. On response of PATH-DATA format When a CE sends a config/query ForCES protocol message to an FE from a different implementor, the CE probably receives response from the FE with different PATH-DATA encaplation format. For example, if a CE sends a query message with a path of 1 to a third party FE to manipulate struct 1 as defined above, the FE is probable to generate response with two different PATH-DATA encaplation format: one is the value with FULL/SPARSE-DATA and the other is the value with many parallel PATH-DATA TLV and nested PATH-DATA TLV, as below: format 1: OPER = GET-RESPONSE-TLV PATH-DATA-TLV: IDs=1 FULLDATA-TLV containing valueof(a),valueof(b) format 2: OPER = GET-RESPONSS-TLV PATH-DATA-TLV: IDs=1 PATH-DATA-TLV: IDs=1 FULLDATA-TLV containing valueof(a) PATH-DATA-TLV: IDs=2 FULLDATA-TLV containing valueof(b) Wang, et al. Expires January 12, 2012 [Page 27] Internet-Draft ForCES Interop Report July 2011 The interoperability test shows that an ForCES element (CE or FE) sender is free to choose whatever data structure that IETF ForCES documents define and best suits the element, while an ForCES element (CE or FE) is preferable to accept and process information (requests and responses) that use any legitimate structure defined by IETF ForCES documents. While in the case an ForCES element is free to choose any legitimate data structure as a response, it is preferred the ForCES element responds in the same format that the request was made, as it is most probably the data structure is the request sender looks forward to receive. 2. On operation to array An array operation may also have several different data encaplation formats. For instance, if a CE sends a config message to table 1 with a path of (2.1), which refers to component with ID=2, which is an array, and the second ID is the row, so row 1, it may be encapsulated with three formats as below: format 1: OPER = SET-TLV PATH-DATA-TLV: IDs=2.1 FULLDATA-TLV conaining valueof(x),valueof(y) format 2: OPER = SET-TLV PATH-DATA-TLV: IDs=2.1 PATH-DATA-TLV: IDs=1 FULLDATA-TLV containing valueof(x) PATH-DATA-TLV IDs=2 FULLDATA-TLV containing valueof(y) Moreover, if CE is targeting the whole array, for example if the array is empty and CE wants to add the first row to the table, it could also adopt another format: format 3: OPER = SET-TLV PATH-DATA-TLV: IDs=2 FULLDATA-TLV containing rowindex=1,valueof(x),valueof(y) The interoperability test experience shows that format 1 and format 3, which take full advantage of multiple data elements description in Wang, et al. Expires January 12, 2012 [Page 28] Internet-Draft ForCES Interop Report July 2011 one TLV of FULLDATA-TLV, get more efficiency, although format 2 can also get the same operating goal. Wang, et al. Expires January 12, 2012 [Page 29] Internet-Draft ForCES Interop Report July 2011 7. Contributors Contributors who have made major contributions to the interoperability test are as below: Hirofumi Yamazaki NTT Corporation Tokyo Japan Email: yamazaki.horofumi@lab.ntt.co.jp Rong Jin Zhejiang Gongshang University Hangzhou P.R.China Email: jinrong@zjgsu.edu.cn Yuta Watanabe NTT Corporation Tokyo Japan Email: yuta.watanabe@ntt-at.co.jp Xiaochun Wu Zhejiang Gongshang University Hangzhou P.R.China Email: spring-403@zjgsu.edu.cn Wang, et al. Expires January 12, 2012 [Page 30] Internet-Draft ForCES Interop Report July 2011 8. Acknowledgements The authors would also like thank the following test participants: Chuanhuang Li, Hangzhou BAUD Networks Ligang Dong, Zhejiang Gongshang University Jingjing Zhou, Zhejiang Gongshang Unviersity Liaoyuan Ke, Hangzhou BAUD Networks Kelei Jin,Hangzhou BAUD Networks Wang, et al. Expires January 12, 2012 [Page 31] Internet-Draft ForCES Interop Report July 2011 9. IANA Considerations This memo includes no request to IANA. Wang, et al. Expires January 12, 2012 [Page 32] Internet-Draft ForCES Interop Report July 2011 10. Security Considerations Developers of ForCES FEs and CEs must take the security considerations of the ForCES Framework [RFC3746] and the ForCES Protocol [RFC5810] into account. Also, as specified in the security considerations section of the SCTP-Based TML for the ForCES Protocol [RFC5811] the transport-level security, has to be ensured by IPsec. Wang, et al. Expires January 12, 2012 [Page 33] Internet-Draft ForCES Interop Report July 2011 11. References 11.1. Normative References [RFC5810] Doria, A., Hadi Salim, J., Haas, R., Khosravi, H., Wang, W., Dong, L., Gopal, R., and J. Halpern, "Forwarding and Control Element Separation (ForCES) Protocol Specification", RFC 5810, March 2010. [RFC5811] Hadi Salim, J. and K. Ogawa, "SCTP-Based Transport Mapping Layer (TML) for the Forwarding and Control Element Separation (ForCES) Protocol", RFC 5811, March 2010. [RFC5812] Halpern, J. and J. Hadi Salim, "Forwarding and Control Element Separation (ForCES) Forwarding Element Model", RFC 5812, March 2010. [RFC5813] Haas, R., "Forwarding and Control Element Separation (ForCES) MIB", RFC 5813, March 2010. 11.2. Informative References [Ethereal] "Ethereal is a protocol analyzer. The specific Ethereal that was used is an updated Ethereal, by Fenggen Jia, that can analyze and decode the ForCES protocol messages", http ://www.ietf.org/mail-archive/web/forces/current/ msg03687.html . [I-D.ietf-forces-ceha] Ogawa, K., Wang, W., Haleplidis, E., and J. Salim, "ForCES Intra-NE High Availability", draft-ietf-forces-ceha-01 (work in progress), February 2011. [I-D.ietf-forces-lfb-lib] Wang, W., Haleplidis, E., Ogawa, K., Li, C., and J. Halpern, "ForCES Logical Function Block (LFB) Library", draft-ietf-forces-lfb-lib-05 (work in progress), July 2011. [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, June 1999. [RFC3654] Khosravi, H. and T. Anderson, "Requirements for Separation of IP Control and Forwarding", RFC 3654, November 2003. [RFC3746] Yang, L., Dantu, R., Anderson, T., and R. Gopal, "Forwarding and Control Element Separation (ForCES) Wang, et al. Expires January 12, 2012 [Page 34] Internet-Draft ForCES Interop Report July 2011 Framework", RFC 3746, April 2004. [RFC6053] Haleplidis, E., Ogawa, K., Wang, W., and J. Hadi Salim, "Implementation Report for Forwarding and Control Element Separation (ForCES)", RFC 6053, November 2010. [Tcpdump] "Tcpdump is a Linux protocol analyzer. The specific tcpdump that was used is a modified tcpdump, by Jamal Hadi Salim, that can analyze and decode the ForCES protocol messages", http://www.ietf.org/mail-archive/web/forces/ current/msg03811.html . Wang, et al. Expires January 12, 2012 [Page 35] Internet-Draft ForCES Interop Report July 2011 Authors' Addresses Weiming Wang Zhejiang Gongshang University 18 Xuezheng Str., Xiasha University Town Hangzhou, 310018 P.R.China Phone: +86-571-28877721 Email: wmwang@zjgsu.edu.cn Kentaro Ogawa NTT Corporation Tokyo, Japan Email: ogawa.kentaro@lab.ntt.co.jp Evangelos Haleplidis University of Patras Patras, Greece Email: ehalep@ece.upatras.gr Ming Gao Hangzhou BAUD Networks 408 Wen-San Road Hangzhou, 310012 P.R.China Phone: +86-571-28877751 Email: gmyyqno1@pop.zjgsu.edu.cn Jamal Hadi Salim Mojatatu Networks Ottawa Canada Email: hadi@mojatatu.com Wang, et al. Expires January 12, 2012 [Page 36]