t
┌──────────────────────────────────────┐
│ ODI Driver User Guide │
└──────────────────────────────────────┘
NOTE: The new version LCS8634.COM is an IRQ, IOBase auto-detect driver
Contents:
1. Introduce the Open Data-Link Interface ..
1.1. Multiple Link Interface Driver (MLID) ....
1.2. Protocol Stack ...........................
1.3. Link Support Layer (LSL) .................
1.4. Benefits of use ODI MLID ..................
2. ShineNET ODI MLID ........................
2.1. Network Configuration file NET.CFG .......
2.2. Keywords of NET.CFG ......................
2.3. Executing ODI MLID .......................
1. Introduce the Open Data-Link Interface :
Open Data-Link Interface (ODI), a specification jointly designed
by Novell and Apple, allows many communication protocols to co-exist
on the same physical network. Figure 1.1 shows two different commun-
ication protocols sharing the same media.
┌────────────────────────────────────────┐
│ Dos Service Function │
└────────────────────────────────────────┘
┌─────┐ ┌─────┐
│ Protocol │ Protocol
│ │ │ │ .................
│ Stack 0 │ Stack 1
└─────┘ └─────┘
┌────────────────────────────────────────┐
│ Link Support Layer │
└────────────────────────────────────────┘
┌─────┐ ┌─────┐
│ │ │ │
│ MILD 0 │ MILD 1 ................
│ NE1000 │ Ne2000
└─────┘ └─────┘
LAN Board 1 LAN Board 2
LAN Board 3
Figure 1.1 Overview of NetWare ODI implementation
ODI allows different applications in the same network station to
use different communication protocols on the same network. Please
refer to Figure 1.2
┌────────────────────────────────────────┐
│ Dos Service Function │
└────────────────────────────────────────┘
┌─────┐ ┌─────┐
│ IPX Proto │ ARP Proto
│ │ │ │
│ Stack │ Stack
└──^──┘ └──^──┘
│ │
┌──│───────────│─────────────────────────┐
│ ├───────────┘ │
│ │ Link Support Layer │
└──│─────────────────────────────────────┘
│
┌─────┐ ┌─────┐
│ │ │ │
│ MILD 0 │ MILD 1 ................
│ NE1000 │ Ne2000
└─────┘ └─────┘
LAN Board 1 LAN Board 2
LAN Board 3
Figure 1.2 One MLID servicing multiple protocol
1.1. Multiple Link Interface Driver (MLID) :
Drivers implemented by Network station must satisfy the ODI
specification. These drivers are called Multiple Link Interface
Driver (MLID), because each driver allows a network station to send
and receive packets with the same link-level envelope allowing
different communction protocol headers.
In ShineNET ethernet series, we support the MLIDs: LCS8834.COM
and LCS8634.COM for our cards, and agree all ODI specification.
1.2. Protocol Stack :
A protocol stack is communication protocol (like IPX) written to
the ODI specification. A protocol stack executed on a workstation
will send and receive packets , with their own format,into the wire.
If one workstation contains more than two protocol stacks, it will
support multi-protocol.
1.3. Link Support Layer (LSL) :
Each station on network that implement ODI must include a layer
called the Link Support Layer. Both protocol stacks and MLIDs must be
written to interface with the LSL residing with them in memory.
The LSL also routes incoming packets from the receiving MLID to
the taget protocol stack. The LSL routes outgoing packets from the
originating protocol stack to the target MLID.
1.4. Benefits of use ODI MLID :
There are the benefits of ODI MLID :
i. support multi-protocol
ii. more effective
iii. more flexible
2. ShineNET ODI MLID :
In ShineNET series, we support ODI MLID drivers for following
executable file :
LCS8834.COM ( for LCS-8834L NE1000 mode )
LCS8634.COM ( for LCS-8834L NE2000 mode )
2.1. Network Configuration file NET.CFG :
The NET.CFG file is used by the various ODI moudles (include
MLID) to obtain the network system configuration information at
the starting time. The ShinNET MLID will open the NET.CFG and parse
the parameters in their statments, and store these informations into
the driver's configuration table.
2.2. Keywords of NET.CFG :
Main Heading keywords :
LINK DRIVER <MLID NAME>
Subsidiary keywords and parameters :
DMA [#n] <channel>
INT [#n] <line>
MEM [#n] <addr> [range]
PORT [#n] port [range]
NODE ADDRESS h
PROTOCOL <proto> id <frame type>
FRAME <name>
#n : may be #1 or #2 (assume to be #1 if this parameter
absent)
channel : DMA channel number
line : IRQ line number
addr : physical memory address in hex
port : I/O port address
range : port range or memory range
proto : protocol name
include IPX, etc.
h : node address in hex
id : protocol identification number
frame type : link level frame type
include ETHERNET_802.2
ETHERNET_802.3
ETHERNET_II
ETHERNET_SNAP
┌──────────────────────────────────────────────────────────────┐
│; Example NET.CFG file; This file is functional. It │
│; uses hardware setting instead of default ,like the │
│; node address . It also shows how to creat this │
│; file for more than one card in this workstation │
│LINK DRIVER LCS8834 │
│ INT #1 4 │
│ PORT 320 │
│ NODE ADDRESS 040000123456 │
│ │
│LINK DRIVER LCS8634 │
│ INT #1 5 │
│ PORT 340 │
│ NODE ADDRESS 080000654321 │
└──────────────────────────────────────────────────────────────┘
Figure 2.1 An example for NET.CFG file
2.3. Executing ODI MLID :
This is a example for attaching to NOVELL file server.
1st) execute the LSL program of NOVELL operation system.
2nd) execute ShineNET MLID driver.
3th) run the IPX Protocol Stack in NOVELL named IPXODI.COM
4th) execute the NOVELL DOS SHELL NET?.COM
┌──────────────────────────────────────────────────────────────┐
│C\>LSL │
│Novell Link Support Layer V1.00 (900530) │
│(C) Copyright 1990 Novell, Inc. All Rights Reserved. │
│C\>LCS8634 │
│ShineNET LCS-8634 MLID v1.00 (910920) │
│(C) Copyright LONGSHINE Electronics Corp., 1990, 1991 │
│All Rights Reserved. │
│ │
│Int 3, Port 300, Node Address 80163350000 │
│Max Frame 1514 bytes, Line Speed 10 Mbps │
│Board 1, Frame ETHERNET_802.3 │
│ │
│C\>IPXODI │
│Novell IPX Protocol V1.00 (900530) │
│(C) Copyright 1990 Novell, Inc. All Rights Reserved. │
│ │
│IPX protocol bound to LCS-8634 MLID Board #1. │
│ │
│C\>NET4 │
│NetWare V3.02 - Workstation Shell for PC DOS V4.x │
│(C) Copyright 1990 Novell, Inc. All Rights Reserved. │
│Attached to server LONGSHINE │
│Monday, March 13, 19:0 1:02:58 am │
│ │
│C\>f: │
│ │
│F\LOGIN> │
└──────────────────────────────────────────────────────────────┘
Figure 2.2 An example for attaching to NOVELL server