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