Hi,
I have a question regarding the ethereal. I am using a pseudo network
device driver for Solaris 2.6 developed at Ericsson and is not the DLPI
compliant yet. The original author is gone unfortunately and it is my
task to make it compliant.
Sending packets through this device works fine, but when I try to
capture packets on this device, the ethereal shows the error " recv_ack:
bind error 0x0 " which means BAD LSAP selector.
When I look in the debuging message of this device driver, it shows that
ethereal tries to bind with the DLSAP address=0 which is not valid.
Until now this device driver can only be established with a stream at
the DLSAP = 2048 where the IP packets can be sent through. In the source
code, when the PPA is equal to NULL, this device driver will bind the
stream only with dl_bind_req.dl_sap = ETHERTYPE_IP ( or 2048). If I
forced the device driver to bind with the DLSAP = 0, then ethereal
continue to request DL_PROMISC_SAP mode.
My question is that why ethereal binds with the DLSAP=0 when start
capturing. Where should I look in this device driver so that it can be
used to send and receive IP packets and the packets can be captures by
Ethereal.
Thank you so much for any suggestion.
Nisapol