F. LAN VCI Specification

LAN VCI Specification


Previous

6.5 RECEIVING A PACKET

When the LAN driver calls the upper VCM's RECEIVE_COMPLETE service routine, the VCRP contains the following information.

The field VCRP$A_LAN_R_HEADER contains the address of the destination address field of the LAN header of the frame received. The upper VCM can examine the header for the destination address and the source address. The destination address is always the first 6 bytes of the header and the source address is always the next 6 bytes of the header.

The LAN driver only calls the upper VCM's RECEIVE_COMPLETE service routine when the VCI port is enabled. If the port has not been enabled or if the port has been deemed unusable (via the PORT_UNUSABLE event), then the LAN driver does not pass receive VCRPs to the upper VCM.

The user data of the packet is always embedded within the VCRP. The BOFF and BCNT fields are initialized by the LAN driver to point to the data embedded in the VCRP.

Table 6-2 describes the fields that are used for receive VCRPs.

Table 6-2 Receive complete fields
Field Name VCRP Destroyed
VCRP$L_BOFF LI Y
VCRP$L_BCNT LI Y


Key to VCRP Key to Destroyed

6.6 GETTING AN EVENT

The upper VCM's report event routine is called by the LAN driver for different reasons. This section describes what the upper VCM should do for some of the events.

6.6.1 PORT USABLE AND PORT UNUSABLE

The upper VCM is called with the port usable event as soon as the VCI port can be used for data transfer.

The upper VCM is called with the port unusable event when the VCI port can no longer be used for data transfer. If the upper VCM disabled the VCI port itself, then the port unusable event was expected. If the upper VCM did not disable the port, then the port unusable event is unexpected. In this case, the upper VCM should stop all transmit requests until the VCI port becomes usable.

If the upper VCM enabled automatic restart (NMA$C_PCLI_RES), then the LAN driver attempts to restart the VCI port. In this case, the upper VCM can wait for the LAN driver to restart the VCI port. If automatic restart is not enabled, then the upper VCM has to start the port itself using an ENABLE_PORT request.

6.6.2 NEW ADDRESS

When the new address event is reported to the upper VCM, it will have to ask the LAN driver to rebuild all the LAN headers that the upper VCM has stored from the BUILD_HDR service routine. This is because those headers contain the old address and are incorrect. If the upper VCM has not used the BUILD_HDR routine, then it can ignore this event.

6.6.3 RESTART FAILED

This event is reported to the upper VCM when the LAN driver has decided to leave the VCI port in a disabled state. This happens when the LAN driver has failed to restart the VCI port thirty consecutive times. This event is only reported to upper VCMs that have automatic restart enabled.


Appendix A
VCI User IDs

Note that the base used for the VCI ID is hexadecimal. The VCI IDs for the VCMs are defined by the constants VCI$K_ID_xxx, where xxx is the acronym listed in the table below. These VCI IDs are defined in $VCIBDEF in LIB.MLB.

Table A-1 Registered VCI users
VCM Name VCI Id Acronym DESCRIPTION
Network Management 0800 NWM The Digital Network Architecture Network Management
Network Management 0801 CONF Conformance Test Tool
Internal use 07xx   Digital internal use
Session Control 0500 SCL The Digital Network Architecture Session Control Layer
Session Control 0501 SCLSRV Session Control Session Services
Session Control 0502 SCLMIN Session Control Minimum Services
Transport - NSP 0400 NSPTP The Digital Network Architecture proprietary Transport protocol
Transport - OSI 0401 OSITP The Digital Network Architecture OSI Transport protocol
Transport - Local 0402 LCLTP Local Transport
Transport - SCA 0403 SCATP The VMS System Communication Architecture
Transport - LAT 0404 LAT The Digital Network Architecture Local Area Transport protocol - LAT
Transport - LAST 0405 LAST The Local Area System Transport protocol - LAST
Transport - LAVC 0406 LAVC The Local Area VAX-Cluster Transport protocol - LAVC
Transport - MOP 0407 MOP Maintenance Operation Protocol
Transport - IP 0408 IP Internet Protocol
Transport - AMDS 0409 AMDS Availability Manager
Transport - Customer 0499 CUSTP Customer Transport Layer
Routing - Network 0300 NRL Digital Network Architecture Network Routing
Routing - Alias 0301 ALIAS Cluster Alias Routing
Routing - Customer 0399 CUSRL Customer Routing Layer
Data Link - LAN 0201 LAN 802.3, Ethernet, FDDI, and Token Ring
Data Link - DDCMP 0202 DDCMP DDCMP
Data Link - HDLC 0203 HDLC HDLC
Data Link - ASY 0204 ASY Asynchronous
Data Link - X25 0205 X25 X.25
Data Link - ADM 0206 ADM ALTSTART DDCMP Module
Data Link - ACM 0207 ACM ALTSTART CSMACD Module
Data Link - LAPB 0208 LAPB LAPB - synchronous
Data Link - LLC2 0209 LLC2 LLC2
Data Link - NETBEUI 0210 NETBEUI Microsoft LAN protocol
Data Link - IPX 0211 IPX NETware IPX protocol
Data Link - DSP 0212 DSP Digital stream protocol
Data Link - Customer 0299 CUSDL Customer Data Link Layer


Appendix B
Revision History

Table B-1 Revision history
Version Date Changes
1.0 1-Apr-1993 First release