Category : Network Files
Archive   : PKTD11.ZIP
Filename : IPXPKT.DOC

Output of file : IPXPKT.DOC contained in archive : PKTD11.ZIP

The standard packet drivers allow applications such as Novell and TCP/IP
to share a single ethernet card in a workstation. A user logged onto
a Novell fileserver may run TCP/IP to connect to a TCP/IP host on the
same network. However, there are a number of circumstances in which
this cannot be done:

1. If the workstation is connected to a Novell fileserver or bridge
rather than the network backbone. Packet drivers are not available
for most non-ethernet topologies, and Novell servers and bridges will
only forward IPX packets, not TCP/IP packets which they do not
2. Packet drivers are not available for all ethernet cards e.g.
Univation (we still have a few which haven't yet died).

A solution to the above problems has been developed by Paul Kranenburg of
Leiden University in Holland. His IPXPKT program is a packet driver which sends
and receives packets via Novell's IPX.COM rather than directly from the network
card. It receives packets from an application, adds the IPX headers and passes
them to IPX for transmission. It also does the converse i.e. receives packets
>from IPX, strips off the IPX header and forwards the packet to the application.

IPXPKT allows any application configured with a packet driver interface
(e.g. NCSA Telnet) to function from any workstation anywhere on a Novell
network regardless of the network topology.

A typical network setup might be:

+-------------+ +----------+ +--------+
| IPX <-> IP | | Unix Box | | VAX |
|router using | | TCP/IP | | TCP/IP |
| IPXPKT | | | | |
+-------------+ +----------+ + -------+
Ethernet | | | |
| Novell | Arcnet, token ring, ethernet or whatever
| | | |
+----------+ +------------+ +------------+
| work | | work |
| station | | station |
| 1 | | 2 |
+------------+ +------------+

Because the packets are transmitted by IPX.COM, IPXPKT works on any
topology supported by Netware. Version 2 of IPXPKT allows packets to
be transmitted through Novell fileservers and bridges.

The IPX <-> IP router on the network backbone receives the IPX packets, strips
off the IPX headers and retransmits Ethernet II packets which can be picked up
by TCP/IP hosts. Additional software is required in the router to route the
packets between the two interfaces. Phil Karn's NET.EXE is commonly used, but
PCROUTE configured for one or two packet driver interfaces is an alternative.
NET.EXE is available via anonymous FTP from THUMPER.BELLCORE.COM (

An autoexec.bat for the IPX <-> IP router is:

wd8003e 0x60 0x7 0x360 0xd000
ipxpkt 0x61

NET is configured to use two Packet driver interfaces. The first sends and
receives Ethernet II packets via the wd8003e packet driver which uses the WD
Ethernet card configured to IRQ 7 and I/O Base 360h. The second sends and
receives Ethernet II packets via IPXPKT using software interupt 0x61. IPXPKT
sends and receives packets via IPX.COM, wrapping IPX headers around packets to
be transmitted before passing them to IPX.COM, and stripping off IPX headers
>from packets received from IPX.COM before passing them to NET. IPX.COM is
configured to match the second Ethernet card in the router.

Note that NET could be configured to communicate with the first WD card
directly. I got it working first using the packet driver, and haven't
bothered to change it.

The configuration I'm using for the second ethernet card is:

LAN Option: WD Star/Ethercard PLUS v2.11.3 (111188)
Hardware configuration: IRQ=3, I/O Base=280h, ram at C400:0 for 8k, no DMA

NET requires a configuration file named AUTOEXEC.NET. An example is:

ip address []
hostname ipxrouter
# Our VAX cluster and link to Canterbury use the network
# Workstations using WD cards on the network backbone also use
# All other Novell w/s (GNET, Univation etc) use
# This router uses the address on the VAX side and
# on the IPXPKT side
attach packet 0x60 wd0 15 1500 []
ifconfig wd0 ipaddress netmask 0xffffff00 broadcast
attach packet 0x61 pkt 15 1500 []
ifconfig pkt ipaddress netmask 0xffffff00 broadcast
route add [138.75.30]/24 pkt
route add [138.75.10]/24 wd0
arp add [] ether ff:ff:ff:ff:ff:ff
arp add [] ether ff:ff:ff:ff:ff:ff
start rip
rip add [] 30
rip add [] 30
ip ttl 16
tcp window 1024
tcp mss 1024
start echo
start discard

As mentioned above, version 2.0 or higher of IPXPKT must be used to
establish connections with TCP/IP hosts through Novell servers or
bridges. If version 2.0 is not in the packet driver distribution set
(it wasn't in the 6.0a set), it can be obtained from Leiden University.
Send a message to [email protected] containing
'send source ipxpkt.asm' as the first and only line.

To assemble IPXPKT, you will need the packet driver distribution and
Borland's Turbo Assembler. Issue the following commands

tasm head ;head.asm is in the packet driver distribution
tasm ipxpkt ;requires defs.asm from the packet driver distribution
tasm tail ;tail.asm is from the packet driver distribution
tlink head ipxpkt tail
exe2bin head.exe

Once the router is functioning, any application which uses a packet driver
may be run from anywhere on the network. The bat file I use to run
NCSA's FTP is:

@echo off
map w:=sys:ncsa
if not errorlevel 1 goto skip
w:marknet f:marknet.mrk
w:ipxpkt 0x60
w:ftpbin %1
if exist f:marknet.mrk w:relnet f:marknet.mrk

The program ncsacfg creates in the users current directory. It
uses the workstations network address and physical station number to
determine whether or not ipxpkt is needed, and concocts a unique IP
address accordingly. Note that this program is specific to Lincoln's setup.
Marknet and Relnet are used to remove ipxpkt from memory.

John Baird
[email protected]

  3 Responses to “Category : Network Files
Archive   : PKTD11.ZIP
Filename : IPXPKT.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: