|
|
(4 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| By [[IBM]]
| | {{IBM-Reprint}} |
| | |
| '''Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation'''
| |
| | |
| == About This Document ==
| |
| This document proposes extensions to the current Network Driver Interface Specification (NDIS) 2.0.1 dated October 5, 1990. These extensions are required in order for IBM* to properly implement the IEEE 802.2 CCB interface as an NDIS protocol driver. These extensions would not necessarily require a change to existing media access control (MAC) device drivers. In fact, these extensions are intended only for 802.5 type MAC device drivers. A MAC device driver can indicate that the extensions in this document are supported by setting the minor NDIS version to 02 in the common characteristics table.
| |
| | |
| The proposal would add a new primitive to the NDIS interface and also extend the MAC service specific characteristics table (SSC) and the MAC media specific statistics (MSS) for 802.5 Details of these extensions are given in the following sections.
| |
| | |
| '''Note:''' NDIS 2.0.1 is jointly authored by 3Com** and Microsoft.** The SSC and MSS are tables defined in the NDIS. The extensions to NDIS 2.0.1, as described in this document, are derived by IBM.
| |
| | |
| This document refers to the following publications for additional information:
| |
| * ''Microsoft/3Com LAN Manager** Network Driver Interface Specification (NDIS), Version 2.0.1, October 8, 1990.''
| |
| * ''Microsoft LAN Manager Programmer's Guide for NDIS, Version 2.0.1, June 1990''
| |
| * ''IBM LAN Technical Reference''
| |
| | |
| ==1.0 New General Request to Modify OPEN Parms==
| |
| | |
| === 1.0 New General Request to Modify OPEN Parms ===
| |
| <pre class="western">Purpose: Modify Open Parameters
| |
| | |
| PUSH WORD ProtID ;Module ID of Protocol
| |
| PUSH WORD ReqHandle ;Unique handle for this request or 0
| |
| PUSH WORD OpenOptions ;New Open Options for adapter
| |
| PUSH WORD 0 ;Pad parameter - must be 0
| |
| PUSH WORD 16 ;Opcodes for this request
| |
| PUSH WORD MACDS ;DS of called MAC module
| |
| Call Request
| |
| | |
| Returns:
| |
| | |
| 0x0000 SUCCESS
| |
| 0x0002 REQUEST_QUEUED
| |
| 0x0003 OUT_OF_RESOURCE
| |
| 0x0007 INVALID_PARAMETER
| |
| 0x0008 INVALID_FUNCTION
| |
| 0x0009 NOT_SUPPORTED
| |
| 0x00FF GENERAL_FAILURE</pre>
| |
| Description:
| |
| | |
| This command directs a MAC device driver to change the adapter specific OpenOptions on the adapter. For IBM Token-Ring compatible adapters, OpenOptions are defined in the ''IBM LAN Technical Reference Manual.''
| |
| | |
| === 1.2 Change to Service Flags to Support ModifyOpenParms ===
| |
| Bit 17 of the Service flags in the MAC device driver SCC indicates if the MAC device driver supports the modification of the Open parameters with the new ModifyOpenParms NDIS primitive.
| |
| | |
| == 2.0 Proposed Changes to the MAC SSC ==
| |
| The MAC SSC will be extended to include a pointer to a new table.
| |
| | |
| '''Note:''' The pointer to this new table is included immediately following the Max number of data blocks in the current definition of the MAC SSC.
| |
| | |
| This new table has the following structure:
| |
| <pre> BYTE AdapterConfig (DIR. STATUS)
| |
| BYTE Reserved
| |
| BYTE(10) MicroCodeLevel (DIR.STATUS)
| |
| DWORD AdapterParmsAddr (DIR.STATUS)
| |
| DWORD AdapterMACAddr (DIR. STATUS)
| |
| WORD SRAMAddress (DIR. INITIALIZE)
| |
| WORD BringUps (DIR. INITIALIZE and DIR.OPEN.ADAPTER)
| |
| WORD AdapterType (DIR. STATUS)</pre>
| |
| The previous values are needed to support the IBM IEEE 802.2 CCB interface DIR.STATUS and DIR.INITIALIZE commands. These commands are defined in the ''IBM LAN Technical Reference'' as follows:
| |
| {| | |
| |width="50%"|'''Previous Value'''
| |
| |width="50%"|'''New Value and Location'''
| |
| |-
| |
| |AdapterConfig
| |
| |adapter_config in DIR.STATUS
| |
| |-
| |
| |MicroCodeLevel
| |
| |microcode_level in DIR.STATUS
| |
| |-
| |
| |AdapterParmAddr
| |
| |adapter_parms_addr in DIR.STATUS
| |
| |-
| |
| |AdapterMACAddr
| |
| |adapter_mac_addr in DIR.STATUS
| |
| |-
| |
| |SRAMAddress
| |
| |SRAM_address in DIR.INITIALIZE
| |
| |-
| |
| |BringUps
| |
| |bring_ups in DIR.INTIALIZE and DIR.OPEN.ADAPTER
| |
| |-
| |
| |AdapterType
| |
| |adapter_type in DIR.STATUS
| |
| |}
| |
| | |
| Note that a protocol can determine if the MAC device driver supports this extended table format by looking at the minor NDIS version byte of the common characteristics table. This byte is set to 02 for this version. A MAC device driver may not need to support the extended SSC format but needs to support version 2.02 for some other reason (for example ModifyOpenParms). This can be done by setting the minor NDIS version byte of the CCT to 02 and setting the pointer to the previously defined structure to NULL.
| |
| | |
| Also note that even though link speed is already returned in the common characteristics table, it should also be returned in the AdapterConfig byte.
| |
| | |
| Certain adapter cards may not be able to support all of the fields in this structure. For these MAC device drivers, binary 0's can be inserted in those fields that are not supported.
| |
| | |
| == 3.0 Proposed Changes to the MAC 802.5 Media Specific Statistics ==
| |
| The MAC media specific statistics (MSS) are extended to include the following information:
| |
| | |
| <pre class="western"> WORD RingUtilizationMeasurement (DIR.STATUS)</pre>
| |
| '''Note''': The fields defined here are included immediately following the number of underruns in the current definition of the MAC MSS.
| |
| | |
| The previous value is needed in order to support the IBM IEEE 802.2 CCB interface DIR.STATUS. It is defined in the ''IBM LAN Technical Reference'' as follows:
| |
| | |
| <pre class="western">RingUtilizationMeasurement is ring utilization measurement in (DIR.STATUS)</pre>
| |
| Note that a protocol can determine if the MAC device driver supports this extended table format by looking at the minor NDIS version byte of the common characteristics table. This byte is set to 02 for this version. 'The 802.5 statistics structure version level is also 02 in the 802.5 MSS.
| |
| | |
| Note that if this counter is not supported, it must be set to FFFF.
| |
| | |
| == 4.0 Proposed Changes to the Status Indication General Request ==
| |
| An additional Status Indication is being proposed to inform the upper layers of status changes concerning the presence of the PCMCIA LAN adapters. Existing protocol stacks that do not support this new NDIS primitive will have to rely on existing NDIS support for error indications. For situations where the new Status Indication is not supported the existing Ring Status Status Indication of Lobe Wire Fault would be appropriate. The Status Indication is called AdapterPresence.
| |
| | |
| <pre class="western">Purpose: Return a change in the Presence of a LAN Adapter.
| |
| | |
| PUSH WORD MACID ;Module ID of MAC
| |
| PUSH WORD Status ;New Adapter Status
| |
| PUSH LPBYTE Indicate ;Virtual address if indicate flag
| |
| PUSH WORD 6 ;Adapter Presences Indication
| |
| PUSH WORD ProtDS ;DS of called protocol module
| |
| Call Status
| |
| | |
| Returns:
| |
| 0x0000 SUCCESS</pre>
| |
| Called by LAN MAC drivers to indicate a change in the presence of a LAN Adapter. The status codes for the MAC drivers are encoded in a 16 bit mask, where the bits for the mask are defined as:
| |
| | |
| {| | |
| |width="50%"|'''Bit'''
| |
| |width="50%"|'''Meaning'''
| |
| |-
| |
| |15
| |
| |Ejection Request
| |
| |-
| |
| |14
| |
| |Ejection Complete
| |
| |-
| |
| |13
| |
| |Insertion Request
| |
| |-
| |
| |12
| |
| |Insertion Complete
| |
| |-
| |
| |11
| |
| |Card Insertion
| |
| |-
| |
| |10
| |
| |Card Removal
| |
| |-
| |
| |9
| |
| |PM Resume(Reserved)
| |
| |-
| |
| |8
| |
| |PM Suspend (Reserved)
| |
| |-
| |
| |7-0
| |
| |Reserved
| |
| |}
| |
| | |
| For further details refer to the PCMCIA Card Services Interface Specification, Release 2.00 and Network Driver Interface Specification, Version 2.01.
| |
| | |
| '''Note:''' Currently, only the NetBEUI device driver supports these proposed extensions. This implementation in NetBEUI only supports the Card Insertion and Card Removal status codes. The Card Removal status code is reported as a Lobe Wire Fault to the application.
| |
| | |
| == Notices ==
| |
| | |
| '''May, 1995'''
| |
| | |
| '''Issued by:'''
| |
| :IBM Corporation
| |
| :Personal Software Products
| |
| :11400 Burnet Road
| |
| :Austin, Texas 78758
| |
| | |
| First Edition (May 1992)
| |
| | |
| Second Edition (May 1993)
| |
| | |
| Third Edition (May 1995)
| |
| | |
| '''The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent with local law:''' INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
| |
| | |
| This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or program(s) described in this publication at any time.
| |
| | |
| It is possible that this publication may contain reference to, or information about, IBM products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBM products, programming, or services in your country.
| |
| | |
| === Copyright Notices ===
| |
| © '''Copyright International Business Machines Corporation 1992, 1995. All rights reserved.'''
| |
| | |
| Note to U.S. Government Users - Documentation related to restricted rights - Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp.
| |
| | |
| === Disclaimers ===
| |
| References in this publication to IBM products, programs, or services do not imply that IBM intends to make these available in all countries in which IBM operates. Any reference to an IBM product, program, or service is not intended to state or imply that only IBM's product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any of IBM's intellectual property rights or other legally protectible rights may be used instead of the IBM product, program, or service. Evaluation and verification of operation in conjunction with other products, programs, or services, except those expressly designated by IBM, are the user's responsibility.
| |
| | |
| IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Commercial Relations, IBM Corporation, Purchase, NY 10577.
| |
| | |
| === Trademarks ===
| |
| The following terms, denoted by an asterisk (*) in this publication, are trademarks of the IBM Corporation in the United States and/or other countries:
| |
| | |
| {|
| |
| |width="50%"|IBM
| |
| |width="50%"|OS/2
| |
| |}
| |
| | |
| The following terms, denoted by a double asterisk (**) in this publication, are trademarks of other companies as follows:
| |
| | |
| {|
| |
| |width="50%"|Microsoft
| |
| |width="50%"|Microsoft Corporation
| |
| |-
| |
| |Microsoft LAN Manager
| |
| |Microsoft Corporation
| |
| |-
| |
| |3Com
| |
| |3Com Corporation
| |
| |}
| |
|
| |
|
| | *[[IBM NDIS Driver Implementation Package]] |
| | **[[3Com/Microsoft LAN Manager Network Driver Interface Specification Version 2.0.1 Final]] |
| | **[[LAN Adapter and Protocol Support - IBM Product Overview]] |
| | **[[IBM OS/2 LAN Server 3.0 Product Overview]] |
| | **[[IBM Network Transport Services/2 Version 1.0 Product Overview]] |
| | **[[NDIS Implementation Information for IBM LAN Systems - NDIS Device Driver Requirements]] |
| | **[[NDIS Implementation Information for IBM LAN Systems - Extended NIF Format]] |
| | **[[NDIS Implementation Information for IBM LAN Systems - NDIS Extensions]] |
| | **[[NDIS Implementation Information for IBM LAN Systems - OS/2 Messaging and National Language Support]] |
| | **[[NDIS Implementation Information for IBM LAN Systems - IBM OS/2 LAN Technical Reference Extensions]] |
| | **[[White Paper on NetBIOS Applications Interoperability]] |
| | *[[NDIS Driver Developer's Tool Kit for OS/2 and DOS - Programmer's Guide]] |
| | *[[NDIS Driver Developer's Tool Kit for OS/2 and DOS Programmer's Performance Guide]] |
| *[[NDIS Driver Developer's Tool Kit for OS/2 and DOS - Random Redirected Transform Test User's Manual]] | | *[[NDIS Driver Developer's Tool Kit for OS/2 and DOS - Random Redirected Transform Test User's Manual]] |
| *[[LAN Adapter and Protocol Support - IBM Product Overview]]
| |
|
| |
| = IBM NDIS Driver Implementation Package =
| |
|
| |
| === Description/Contents ===
| |
|
| |
| The IBM LAN Adapter and Protocol Support (LAPS), Network Transport Services/2 (NTS/2), and the DOS LAN Support Program (LSP) are the communications subsystems for IBM OS/2 and DOS products that require LAN connectivity. LAPS is included in the following products: Extended Services 1.0 (with or without Database Manager); LAN Server 2.0 (Entry or Advanced); LAN Enabler 2.0; TCP/IP v. 1.2.1; LAN Server 3.0 (Entry or Advanced) and NTS/2 1.0. In LAPS, NTS/2 and LSP, the Network Driver Interface Specification (NDIS) architected interface has been implemented for enabling NDIS Media Access Control (MAC) Device Drivers. This will allow the support of IEEE 802.5, 802.3, and Ethernet DIX Version 2.0 NDIS MAC drivers. This includes support for Ethernet, Token-Ring, FDDI, PCnet, and other architected network technologies.
| |
|
| |
| If your organization has an adapter that you want supported on a platform containing the IBM LAPS and LSP, you will have to provide the NDIS MAC Device Driver for that adapter, and a Network Information File (NIF) for the install process. For OS/2 it is strongly recommended that a message file and message help file also be included.
| |
|
| |
| Enclosed in this package are documents that are designed to assist you in the implementation of a new NDIS MAC Device Driver, or the conversion of an existing NDIS MAC Device Driver. These documents include the following:
| |
|
| |
| * [[lanmang.htm|''3Com*/Microsoft LAN Manager** Network Driver Interface Specification Version 2.0.1 Final'']]
| |
| * [[overview.htm|''LAN Adapter and Protocol Support IBM Product Overview'']]
| |
| * [[serverov.htm|''IBM OS/2 LAN Server 3.0 Product Overview'']]
| |
| * [[transpor.htm|''IBM Network Transport Services/2 Version 1.0 Product Overview'']]
| |
| * [[requirem.htm|''NDIS Implementation Information for IBM LAN Systems, NDIS Device Driver Requirements'']]
| |
| * [[inifform.htm|''NDIS Implementation Information for IBM LAN Systems, Extended NIF Format'']]
| |
| * [[extent.htm|''NDIS Implementation Information for IBM LAN Systems, NDIS Extensions'']]
| |
| * [[techref.htm|''NDIS Implementation Information for IBM LAN Systems, OS/2 Messaging and National Language Support'']]
| |
| * [[mesnls.htm|''NDIS Implementation Information for IBM LAN Systems, IBM OS/2 LAN Technical Reference Extensions'']]
| |
| * [[interop.htm|''White Paper on NetBIOS Applications Interoperability'']]
| |
|
| |
| For more extensive assistance in developing an NDIS MAC driver for use with IBM LAPS and LSP, the ''DWB Associates NDIS Device Driver Toolkit for OS/2 and DOS''is available from DWB Associates, Inc. In addition to the documents you receive in this Information Package, the Tool Kit contains additional programming guides for writing NDIS MAC drivers and diskettes containing a sample driver, testing tools, test tool scripts, and a trace tool for debugging. <br />For information regarding the price and availability of the Tool Kit, contact DWB Associates, Inc., 9360 SW Gemini Drive, Beaverton, OR 97005, 503-626-3081.
| |
|
| |
| * 3Com is a registered trademark of the 3Com Corporation
| |
|
| |
| ** Microsoft LAN Manager is a registered trademark of the Microsoft Corporation
| |
|
| |
| Any reference to the NDIS Specification in products or documentation developed from this Implementation Package must contain the appropriate copyright and trademark acknowledgements.
| |
|
| |
| May 1995
| |
|
| |
| *[[NDIS Implementation Information for IBM LAN Systems - NDIS Device Driver Requirements]]
| |
| *[[IBM OS/2 LAN Server 3.0 Product Overview]]
| |
| *[[NDIS Implementation Information for IBM LAN Systems - IBM OS/2 LAN Technical Reference Extensions]]
| |
| *[[NDIS Driver Developer's Tool Kit for OS/2 and DOS TestTool User's Manual]] | | *[[NDIS Driver Developer's Tool Kit for OS/2 and DOS TestTool User's Manual]] |
|
| |
|
| = Documents =
| | [[Category:LAN Device Driver Documentation]] |
| | |
| * [[IBM Network Transport Services/2 Version 1.0 Product Overview]]
| |
| | |
| [[Category:Driver Articles]] | |