/* Return Value: The 6 most significant bits of the 32-bit CRC result  */
static unsigned portCHAR fec_hash_address(const unsigned portCHAR *addr)
/* Return Value: The 6 most significant bits of the 32-bit CRC result  */
static unsigned portCHAR fec_hash_address(const unsigned portCHAR *addr)
{
unsigned portLONG crc;
unsigned portCHAR byte;
int i, j;
	crc = 0xFFFFFFFF;
	for(i=0; i<6; ++i)
	{
		byte = addr[i];
		for(j=0; j<8; ++j)
		{
			if((byte & 0x01)^(crc & 0x01))
			{
				crc >>= 1;
				crc = crc ^ 0xEDB88320;
			}
			else
			{
				crc >>= 1;
			}
			byte >>= 1;
		}
	}
	return (unsigned portCHAR)(crc >> 26);
}