if (unlikely(!compare_eth_addr(eth->h_dest, dev->dev_addr))) 
if (unlikely(compare_eth_addr(eth->h_dest, dev->dev_addr))) 
__be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev){	struct ethhdr *eth;	unsigned char *rawp;		skb->mac.raw = skb->data;	skb_pull(skb,ETH_HLEN);	eth = eth_hdr(skb);		if (*eth->h_dest&1) {		if (!compare_eth_addr(eth->h_dest, dev->broadcast))			skb->pkt_type = PACKET_BROADCAST;		else			skb->pkt_type = PACKET_MULTICAST;	}		/*	 *	This ALLMULTI check should be redundant by 1.4	 *	so don't forget to remove it.	 *	 *	Seems, you forgot to remove it. All silly devices	 *	seems to set IFF_PROMISC.	 */	 	else if(1 /*dev->flags&IFF_PROMISC*/) {		if (unlikely(!compare_eth_addr(eth->h_dest, dev->dev_addr)))			skb->pkt_type = PACKET_OTHERHOST;	}		if (ntohs(eth->h_proto) >= 1536)		return eth->h_proto;			rawp = skb->data;		/*	 *	This is a magic hack to spot IPX packets. Older Novell breaks	 *	the protocol design and runs IPX over 802.3 without an 802.2 LLC	 *	layer. We look for FFFF which isn't a used 802.2 SSAP/DSAP. This	 *	won't work for fault tolerant netware but does for the rest.	 */	if (*(unsigned short *)rawp == 0xFFFF)		return htons(ETH_P_802_3);			/*	 *	Real 802.2 LLC	 */	return htons(ETH_P_802_2);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/01d40f28b125e0a9aa0ec24642be67fc4c5dfaff/eth.c/buggy/net/ethernet/eth.c