This is a description of a bug in SunOS 4.0 NIT, which is not fixed in 4.0.3

1016994: Public Summary:
1016994:	The ifpromisc() routine of net/if.c, which handles
1016994:	transitions into and out of promiscuous mode by
1016994:	keeping track of the number of outstanding requests
1016994:	there are for the mode and calling the interface driver
1016994:	to change mode on transitions to and from zero
1016994:	has a bug that causes it to disable promiscuous
1016994:	mode whenever it is called to disable the mode and
1016994:	the number of outstanding requests for the mode is
1016994:	greater than one.
1016994:	The problem occurs only when there are more than one
1016994:	concurrent requesters for promiscuous mode for a
1016994:	particular interface (i.e. run multiple etherfind's
1016994:	on the same interface in parallel, then terminate
1016994:	one of the processes).
1016994: Hook 2:  Needs investigation in release: 4.0.4, 4.0.4c

This can cause interfaces to go out of promiscuous mode when they shouldn't;
promiscuous mode reception may fail as a result.  This also impacts the
reception of multicast addresses with this library, since that is implemented
on Suns with promiscuous mode reception and filtering.

The only workaround seems to be to close all promiscuous mode file descriptors
in all processes, then reopen them.  Just setting the IFF_PROMISC bit with a
SIOCSIFFLAGS ioctl doesn't seem to help.



This is a description of a bug in SunOS 4.0.3 NIT.

The NIT interface now receives broadcast packets sent from the local machine,
but their ethernet source field will sometimes contain a random value.  The
packets as sent out on the ethernet are correct, but the NIT interface
sometimes receives them incorrectly.

You can tell if this bug affects you by running "etherfind -p -arp" and then
pinging a nonexistent (or down) host.  If you have the bug, you will see lots
of arp packets from strange hosts.  There is no known workaround.
