pcnet32 - promiscuous mode bug

Eli Carter (eli.carter@inet.com)
Fri, 02 Nov 2001 15:31:14 -0600


To those interested in pcnet32,

In pcnet32_set_multicast_list(), the driver sets the promiscuous bit in
the init_block mode field. This is copied to CSR15 during
initialization.

However, that bit is only read/write accessible when the device is in
the suspend or stopped state, so setting the promiscuous bit will have
no effect on an already UP interface.

Thus, to get the interface to actually be in promiscuous mode, one must:
ifconfig -i eth0 promisc
ifdown eth0 ; ifup eth0
tcpdump will now see promiscuous packets
and to turn it off,,
ifconfig -i eth0 -promisc
ifdown eth0 ; ifup eth0

It also appears that tcpdump 3.6.2 isn't triggering that code at all...
What does the driver need to support for tcpdump?

Anyone have a fix for this?

Eli
--------------------. Real Users find the one combination of bizarre
Eli Carter \ input values that shuts down the system for days.
eli.carter(a)inet.com `-------------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/