/* {broad,multi}cast packets to our IBSS go through */ if (is_broadcast_ether_addr(header->addr1) || is_multicast_ether_addr(header->addr1)) 
/* multicast packets to our IBSS go through */ if (is_multicast_ether_addr(header->addr1)) 
static inline int is_network_packet(struct ipw_priv *priv,				    struct ieee80211_hdr_4addr *header){	/* Filter incoming packets to determine if they are targetted toward	 * this network, discarding packets coming from ourselves */	switch (priv->ieee->iw_mode) {	case IW_MODE_ADHOC:	/* Header: Dest. | Source    | BSSID */		/* packets from our adapter are dropped (echo) */		if (!memcmp(header->addr2, priv->net_dev->dev_addr, ETH_ALEN))			return 0;		/* {broad,multi}cast packets to our IBSS go through */		if (is_broadcast_ether_addr(header->addr1) ||		    is_multicast_ether_addr(header->addr1))			return !memcmp(header->addr3, priv->bssid, ETH_ALEN);		/* packets to our adapter go through */		return !memcmp(header->addr1, priv->net_dev->dev_addr,			       ETH_ALEN);	case IW_MODE_INFRA:	/* Header: Dest. | AP{BSSID} | Source */		/* packets from our adapter are dropped (echo) */		if (!memcmp(header->addr3, priv->net_dev->dev_addr, ETH_ALEN))			return 0;		/* {broad,multi}cast packets to our IBSS go through */		if (is_broadcast_ether_addr(header->addr1) ||		    is_multicast_ether_addr(header->addr1))			return !memcmp(header->addr2, priv->bssid, ETH_ALEN);		/* packets to our adapter go through */		return !memcmp(header->addr1, priv->net_dev->dev_addr,			       ETH_ALEN);	}	return 1;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/afbf30a2b78cac38e6ddae10a73063943b4783ee/ipw2200.c/buggy/drivers/net/wireless/ipw2200.c