2
0
mirror of https://github.com/xcat2/xNBA.git synced 2025-01-20 22:43:14 +00:00

[undi] Ask for promiscuous packet reception when using UNDI driver

We never set up specific multicast filters; native drivers will ask
the card to receive all multicast packets.  The only way to achieve
this via the UNDI API is to enable promiscuous mode.
This commit is contained in:
Michael Brown 2008-06-10 08:56:44 +01:00
parent 72c1bb8224
commit 798ddf884f

View File

@ -543,9 +543,13 @@ static int undinet_open ( struct net_device *netdev ) {
undinet_call ( undinic, PXENV_UNDI_SET_STATION_ADDRESS,
&undi_set_address, sizeof ( undi_set_address ) );
/* Open NIC */
/* Open NIC. We ask for promiscuous operation, since it's the
* only way to ask for all multicast addresses. On any
* switched network, it shouldn't really make a difference to
* performance.
*/
memset ( &undi_open, 0, sizeof ( undi_open ) );
undi_open.PktFilter = ( FLTR_DIRECTED | FLTR_BRDCST );
undi_open.PktFilter = ( FLTR_DIRECTED | FLTR_BRDCST | FLTR_PRMSCS );
if ( ( rc = undinet_call ( undinic, PXENV_UNDI_OPEN, &undi_open,
sizeof ( undi_open ) ) ) != 0 )
goto err;