It seems controller has two types of promiscuous control, one for

unicast and the other for multicast. To receive multicast frames
that host didn't join in promiscuous mode, driver have to set
promiscuous mode for multicast frames as well.
The Open Source Software Developer Manual for i8255x was not clear
how to handle promiscuous mode.

PR:		kern/145905
MFC after:	5 days
This commit is contained in:
Pyun YongHyeon 2010-05-07 16:43:00 +00:00
parent 97c3834772
commit a026a25b1d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=207748

View File

@ -2345,7 +2345,7 @@ fxp_init_body(struct fxp_softc *sc)
cbp->force_fdx = 0; /* (don't) force full duplex */
cbp->fdx_pin_en = 1; /* (enable) FDX# pin */
cbp->multi_ia = 0; /* (don't) accept multiple IAs */
cbp->mc_all = ifp->if_flags & IFF_ALLMULTI ? 1 : 0;
cbp->mc_all = ifp->if_flags & IFF_ALLMULTI ? 1 : prm;
cbp->gamla_rx = sc->flags & FXP_FLAG_EXT_RFA ? 1 : 0;
cbp->vlan_strip_en = ((sc->flags & FXP_FLAG_EXT_RFA) != 0 &&
(ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0) ? 1 : 0;