DP83200SMT XLNT Manager TM FDDI Station Management (SMT) Software Support Package General Description The XLNT ManagerTM Software Package completely implements all required and most optional FDDI SMT Protocol functions. It comes complete with well documented source code written in the C programming language and an easy to use Integration Guide. The source code is modular so that it can be partitioned over multiple processors and can be used in all FDDI applications including concentrators, and dual and single attach stations. The porting guide includes step by step instructions how to port the software to your hardware platform. XLNT Manager FDDI SMT Software is a product of XLNT Design Inc., and is made available to National Semiconductor FDDI customers through a sublicensing agreement. Technical support is provided by National Semiconductor’s fully trained FDDI Applications team. XLNT Manager FDDI SMT Software combined with National Semiconductor’s FDDI chip set provides a complete FDDI solution. The software can easily be integrated into an operating environment using minimal hardware and system support from the operating environment. Custom Management services can interface with the SMT software through a standard, well defined, software interface. An integration sequence example is included.
Features Y
Y
Y
Y
Y
Y Y
Y Y
Implements all required and most optional FDDI Station Management Protocol functions Complete portability of the code to most hardware platforms Direct interface with the FDDI Chip Set for compact and efficient implementation Flexible architecture to allow code partitioning for single and multiple processors Standard interface between SMT software and custom management applications Well documented source code (C Language) Supports single and dual attach stations and concentrators Operating System Independent Includes easy-to-use porting guide
TL/F/11121 – 1
FIGURE 1. Station Management (SMT) Software Block Diagram UNIXÉ is a registered trademark of AT&T Bell Laboratories. XLNT ManagerTM is a trademark of XLNT Designs Incorporated. C1995 National Semiconductor Corporation
TL/F/11121
RRD-B30M105/Printed in U. S. A.
DP83200SMT XLNT Manager FDDI Station Management (SMT) Software Support Package
October 1994
Table of Contents
2.0 Functional Description The XLNT Manager Software Package completely implements all required and most optional FDDI SMT Protocol Functions. The software package consists of three main functional blocks as shown in Figure 1 . The three main functional blocks are 1) Management Services Process (MSP), 2) the Frame Services Process (FSP) and 3) the Connection Services Processes (CSP).
1.0 OVERVIEW 2.0 FUNCTIONAL DESCRIPTION 3.0 INTEGRATION PROCEDURE 4.0 SUBLICENSE AGREEMENT AND MAINTENANCE
2.1 MANAGEMENT SERVICES PROCESS The Management Services Process (MSP) processes information in the Management Information Base (MIB). The MIB is an information database which is defined by the FDDI SMT Standard. It includes information about the status and performance of a station. The information is collected from the hardware and other processes and stored in a central database. The Management Information Base (MIB) can be accessed by a Management Application Process like the Simple Network Management Protocol (SNMP) or by a remote station over the network. The Management Services Process maintains the MIB and provides a uniform interface to the Management Application Process, the Frame Services Process (FSP) and the Connection Services Process (CSP).
5.0 TECHNICAL SUPPORT
1.0 Overview One of the key areas in the FDDI standardization process has been Station Management (SMT). The SMT document provides the guidelines and protocols which can be used to manage an FDDI network. To ensure interoperability in a multi-vendor environment, some of the protocols described in the SMT document are mandatory. However, to facilitate the diverse network environments envisioned for FDDI, many of the protocols described are optional. Implementation of the optional protocols will depend upon the application need. The basic SMT functions required are: Ð Fault management for high network availability Ð Reliable error detection and recovery Ð Access to networked resources Ð Fast and reliable connection management procedure Ð Management for multi-vendor networks Ð Access to individual station information Ð Flexible network configuration
2.2 FRAME SERVICES PROCESS The Frame Services Process (FSP) implements the frame based services defined by the FDDI SMT Protocol. The FDDI SMT Protocol defines several different frame types which are used to convey status and control information between stations on the network. For example, Neighbor Information Frames (NIFs) convey information about the station to its neighbor. This information can be used in the
TL/F/11121 – 2
FIGURE 2. Connection Services Process Block Diagram 2
The steps described will, in general, have to be done to integrate the SMT software package into a system, but need not happen in the exact sequence given below.
2.0 Functional Description (Continued) development of a ring map. The Frame Services Process responds to requests (from the Management Application Process) to send frames. It also sends frames as required by SMT and responds to SMT frames from other stations. For more information on FDDI frame based services refer to the ANSI/ISO FDDI SMT Documents.
# # # # # # #
2.3 CONNECTION SERVICES PROCESS The Connection Services Process implements the Connection Management (CMT) and Ring Management (RMT) functions of the FDDI SMT Protocol. The Connection Management (CMT) Protocol consists of three functional blocks as shown in Figure 2 . The three main functional blocks of the Connection Management (CMT) protocol are the Configuration Management (CFM) block, the Physical Connection Management (PCM) block and the Entity Co-ordination Management (ECM) block. The Physical Connection Management (PCM) block is responsible for establishing a photonic or electrical connection between two neighboring stations, signaling configuration information and monitoring the link errors between stations. The PCM process interacts with the National DP83256/56-AP/57 which performs the physical signaling process and error monitoring functions. The Configuration Management process controls the data paths between MAC and PHY devices. This process interacts with the configuration switch in the National DP83256/56-AP/57 PLAYER a Device. It also interacts with other SMT processes. The Entity Co-ordination Management process controls the optional optical by-pass switch and acts as a well defined interface to the Management Services Process. The primary function of the Ring Management process is to detect duplicate addresses that would inhibit the ring from becoming operational, and other network failures.
Hardware test Write network interface functions Define partitioning of SMT function Customize headers and initialization function Provide control interface Compile, link and test Integrate Management Application Process
3.1 HARDWARE TEST It is imperative that the hardware platform is debugged before starting the XLNT Manager Software integration. Proper data flow and timer operation is required before starting the integration procedure. The time required to port the software could be greatly extended if the hardware platform is not fully debugged. 3.2 INTERFACE FUNCTIONS A detailed description of how to write interface functions are described in the XLNT Manager Integration Guide. A brief explanation, with examples, follows here. The SMT software uses a number of interface functions that deal directly with the FDDI chip set hardware, provide timer service to the FDDI functions and support transmission and reception of SMT frames. Before writing and testing the hardware interface, it is important to fully test the hardware platform. Example system functions: uInt32 ReadSystemTimer (void) void SetSystemTimer (uInt32 interval) uInt StationPathTest (void) void BypassRequest (uInt bypassState) void ConfigureStation (uInt CFMÐstate) Example PHY interface functions: void TransmitPMD (uInt phyID, uInt state) uInt16 ReadLineState (uInt phyID) void SendLineState (uInt phyID, LineState ls) Example MAC interface functions: void MACResetRequest (uInt macID) void SetBeacon (uInt macID, char beaconType, LongAddr *DA, uInt infoLength, char *beaconInfo) void BeaconRequest (uInt macID)
Implementation The effective implementation of Station Management software in a design is tied directly to the ability of the FDDI chip set silicon to provide the appropriate hooks and management information. The DP83200 FDDI Chip Set provides the essential support for FDDI Station Management functions. The PLAYER a Device and the MAC portion of the MACSI Device support the Connection Mangement services and the Ring Management service respectively. The system interface portion of the MACSI Device provides separate Station Management and data frame channels for the maximum support of the SMT Frame Services.
Write Interface Code The majority of the integrator supplied code is in the interface routines. The interface routines are those that directly deal with hardware. Over four thousand lines of prototype source code is supplied for these functions to aid the implementor. The complexity of these functions varies significantly and there is little correlation of the complexity of the function with the amount of code. The most complex and important implementor code is for frame transmission and reception. This code is important because it provides the basic function of an FDDI attachment, moving data. SMT requires
3.0 Integration Procedure The following description presents a possible sequence for integration of the XLNT Manager SMT software package onto your system.
3
3.0 Integration Procedure (Continued) A few implementor provided functions are affected by the options in the SMT Standard. Two examples are the method to be used for scrubbing, and generation of data for link confidence testing. If the implementor desires to use the MAC in these cases, the interface code complexity will be increased, since the MAC will need to be set up for generation of the desired data. Many of these interface functions can be used in initial testing of the board. Planning ahead and using the functions as part of the basic hardware test plan can reduce the total development time.
comparatively little frame transmission and reception and performance of the SMT frame processes will not be critical in most devices. An implementor supplied function that can be fairly complex is the path test, though this is a logical subset of a power on self test for the board. The majority of the functions are simple and direct. These simple functions include transmitting a line state, managing MAC frame counters, and setting interrupt masks.
Example Section of Interface Function Code
TL/F/11121 – 3
The XLNT Manager Integration Guide includes detailed descriptions of all the functions. 4
3.0 Integration Procedure (Continued) The next step is to customize header files. This includes general customization like declaring whether the processor uses big endian or little endian byte ordering. Certain attributes need to be modified for differences in station type, (e.g., SM-DAS, DM-DAS, bridge, etc). In some cases, the implementation may be flexible, for example, an optional external optical bypass relay. In these cases, the customization of values is done in the initialization routines so that the implementor can read hardware signals to determine the current configuration. (In the bypass case, insertion of the connector for switching the bypass could be detected through loopback between two pins on the connector.) Where the configuration is stable, the customization can be done in header files or the initialization routine. In SMT 7.3, the User must review approximately 10 attributes for a node implementation with approximately 25 additional attributes that the User may optionally review. In some cases, these attributes occur multiple times (e.g., one per PHY). In a few cases, the values of occurrences of an attribute may differ (e.g., Requested Path for a MAC). These attributes requiring review are well documented with defaults for the most common implementations included and guidelines for selection of different values.
3.3 PARTITION OF SMT FUNCTION The partitioning of SMT software is quite simple. In most implementations, all SMT code will run on the same processor. If this is the case, there is no further effort associated with this task. If the code is to be partitioned between processors, then communication routines need to be written to transfer SMT signals between the different environments. Defining the partition of the SMT function can be simple for an adaptor card and less straight forward in a concentrator. Implementors can partition the SMT functions between different processors. This includes the ability to separate Connection Services from the rest of SMT. Those implementations partitioning SMT software onto multiple processors must provide routines for communication between the SMT functions in the separate environments. 3.4 CUSTOMIZATION OF HEADERS AND INITIALIZATION FUNCTIONS FDDI includes a large number of possible station types with optional capability. The SMT software provides options supported by the code, and the SMT Standard. Examples, of this customization include: number of MACs, number of PHYs, default policies, and bypass relay present.
5
3.0 Integration Procedure (Continued) Example Section of Initialization Code
TL/F/11121 – 5
6
3.0 Integration Procedure (Continued) classes include only one interrupt (e.g., TVX expiration), while others include virtually identical code for multiple interrupts (e.g., MAC Counter overflow: FrameÐCt, ErrorÐCt, etc.). National’s Chip Set includes additional interrupts that are not used by SMT. These can be added as events that are passed through the SMT code to the MAP interface.
Write Interrupt Handler Code The nature of this task is affected by the environment in which the code is running. The functionality of an Interrupt Handler may be included in the interrupt service routine or it may be implemented as a separate function. There are several interrupt classes used by SMT 7.3. Most of these
Example Interrupt Handler Function
TL/F/11121 – 4
The XLNT Manager Integration Guide outlines the options and how to select them.
7
3.0 Integration Procedure (Continued) For the CSP timer interface, XDI recommends a timer granularity of one-half ms or less (although the XLNT Manager will work with larger granularity timers). The CSP timer requirements range from 1 ms through 50 seconds with a tolerance of b0, a 1 ms. CSP needs read and write access to the timer through the timer interface. It reads from the timer to determine the time remaining before the next interval expiration. It writes to the timer set the interval for the next timer expiration. At a minimum, the FSP timer interface requires the ability to start a timer that generates a timer event once every two seconds. The environment may handle this requirement using a timer or through a call-back mechanism. The timer interface for FSP does not require read or write access to the timer. It only requires that some entity add an event to its timer queue periodically (e.g., once per second). In addition to the two timer interfaces, SMT also requires a time stamp function. The SMT standard specifies a time stamp granularity of 8 ms or less. Depending on the system environment, the User could implement the time stamp using a system clock tick, a system time of day function, or using the timer supporting the CSP and FSP timer interfaces.
3.5 PROVIDE CONTROL INTERFACE The SMT software needs stimulus for beginning execution. In initial test, the person testing the interface should have access to basic SMT control. A simple connect and disconnect capability meets the minimum requirements. The trace capabilities of the SMT software and other facilities provided through SMT can provide a more functional control interface. 3.6 COMPILE, LINK AND TEST After compiling and linking the code for MSP, CSP, or FSP, the testing stage is entered. The number of stages included in integration testing are largely influenced by the degree of testing that the hardware has been subjected to prior to integration, and whether the software is partitioned over multiple processors. The software includes some basic trace diagnostics to aid in integration testing. A detailed description of these functions is available in the XLNT Manager Integration Guide. 3.7 INTEGRATE MANAGEMENT APPLICATION PROCESS The scope of defining an interface to an application process can vary in degree of complexity. If no management agent like SNMP is required the task is very simple. In some stations, the higher layer protocols used will also include a Management Application Process. TCP/IP networks will likely employ SNMP. The management agent requires access to the management information base within the FDDI attachment, and may require access to optional SMT frames that the SMT software supports. Although not all stations provide a formal management agent, the SMT software requires some external control process to provide the initial request for Connection Services and to handle catastrophic errors or conditions that the SMT components may report. This simplifies implementation in basic stations, as well as those that include an agent. A more detailed description of the procedure interface is provided in the XLNT Manager Integration Guide.
4.0 Sublicense Agreement and Maintenance XLNT Manager is a product of XLNT Designs Inc. National Semiconductor sublicenses XLNT Manager source code to its customers. A sublicense agreement is available on request. Maintenance upgrades are available under the terms of the optional maintenance agreement. A maintenance agreement is available on request.
5.0 Technical Support XLNT Manager software written in the C programming language comes complete with an easy to use integration guide. Most engineers can port XLNT Manager software to their hardware platform in less than six weeks. A detailed description of the integration procedures are outlined in the Integration Guide. Most customers can proceed with little assistance but should the need arise, National’s application staff can answer your technical questions.
3.8 TIMER REQUIREMENT Although the SMT protocol may require timing many events at once, the XLNT Manager handles this by using only two timer interfaces. This includes one timer interface for CSP and one for FSP. Each interface requires different timer ranges and specifications.
8
9
DP83200SMT XLNT Manager FDDI Station Management (SMT) Software Support Package
LIFE SUPPORT POLICY NATIONAL’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT OF NATIONAL SEMICONDUCTOR CORPORATION. As used herein: 1. Life support devices or systems are devices or systems which, (a) are intended for surgical implant into the body, or (b) support or sustain life, and whose failure to perform, when properly used in accordance with instructions for use provided in the labeling, can be reasonably expected to result in a significant injury to the user. National Semiconductor Corporation 1111 West Bardin Road Arlington, TX 76017 Tel: 1(800) 272-9959 Fax: 1(800) 737-7018
2. A critical component is any component of a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system, or to affect its safety or effectiveness.
National Semiconductor Europe Fax: (a49) 0-180-530 85 86 Email: cnjwge @ tevm2.nsc.com Deutsch Tel: (a49) 0-180-530 85 85 English Tel: (a49) 0-180-532 78 32 Fran3ais Tel: (a49) 0-180-532 93 58 Italiano Tel: (a49) 0-180-534 16 80
National Semiconductor Hong Kong Ltd. 13th Floor, Straight Block, Ocean Centre, 5 Canton Rd. Tsimshatsui, Kowloon Hong Kong Tel: (852) 2737-1600 Fax: (852) 2736-9960
National Semiconductor Japan Ltd. Tel: 81-043-299-2309 Fax: 81-043-299-2408
National does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied and National reserves the right at any time without notice to change said circuitry and specifications.