This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM1808: Ethernet Multicast packets received with MACHASHx set to zero

Part Number: AM1808

Hi,

a customer is using the AM1808 Ethernet port and intends to prevent any multicast packets be received by setting the MACHASHx to zero.

This was documented on this thread:

We thought the problem was completely solved by doing the following

The 53-bits of each address location are written with three consecutive 32-bit VBUS accesses.  The host must write the index into the ram in the MacIndex(4:0) register, followed by the upper 32-bits of address (which are stored in a holding register), followed by the lower 16-bits of address (with control bits).  The 53-bit indexed ram location is written when the low location is written.

So writing of each of the undocumented 32 MAC addresses has these steps

[] Write the MACINDEX

[] Write the 32bit high part of the MAC address into MACADDRHI

[] Write the 16bit low part of MAC address and control bits into MACADDRLO

For Type2 addresses, there is NO sharing of the MACADDRHI, so they can be unique. Type2 was also undocumented.

However when enough multicast packets are being sent, the EMAC is still receiving multicast packets and eventually the descriptor memory is exhausted, if multicast packets are being sent to the AM1808.

Currently the customer implemented a solution that would keep the Receive Head Pointer TXHDP of the EMAC channel as 0, in addition to the above type 2 writes solution. This prevents the EMAC channel from receiving any packets, which may work as a work around for the customer.

However the question is still there, why the EMAC continues to receive multicast packets.

Is there anything else we are missing?

Regards,

--Gunter