I am looking for a text that might illustrate a
streams device driver for SYSV.4 system. More
specifically, I am looking for illustrations on
writing a driver over the DLPI interface.
> I am looking for a text that might illustrate a
> streams device driver for SYSV.4 system. More
> specifically, I am looking for illustrations on
> writing a driver over the DLPI interface.
> Pl help.
%T UNIX System V Network Programming
%A Stephen A. Rago
%I Addison Wesley
%C Reading, Mass.
%X ISBN 0-201-56318-5
It discusses all of these issues in detail.
We develop a DLPI Stream Pseudo Driver to simulate a subnetwork of
machines as Unix process on Solaris. The goal is to have a subnetwork
managed by the pseudo-driver installed using the ifconfig command, and
passing ethernet frame to Unix process.
But we encounter some major problems.
The installation of the driver using add_drv moose is ok (this is the
name of our pseudo driver). This device is NOT a clone device. We launch
a demon which open the stream to have the stream permanently open.
Now we use ifconfig moose0 plumb to install the interface. The driver
receive DLPI Request ATTACH_REQ, INFO_REQ and all seems ok.
BUT ifconfig (plumb_one_device from ifconfig.c) never ends. Here are
what truss command shows :
ioctl(5,I_PUSH,"ip") = 0
ioctl(5,0x80047336,0xEFFFF7C8) = 0
ioctl(5,0xC0206911,0x0002B010) = 0
open("/dev/moose",O_RDONLY) = 6
ioctl(6, I_PUSH, "arp") = 0
The PUSH of module arp never end. I have no idea why. Is it because my
device is not clonable ?
seen this problem before or if you can help us on any way. Thanks in
Sema Group Telecom