AnsweredAssumed Answered

MAC address (CRC hardware) filter is all zero and promiscuous mode bit is zero, but still receiving Ethernet messages...

Question asked by rick stuart on Jan 18, 2015
Latest reply on Jan 19, 2015 by Derek Snell



I have a project where I want to receive Ethernet message for 2 different MAC addresses.  I have code that receives a MAC that I have assigned to the Ethernet-port/RTCS stack.  I can see these messages in the receive-Ethernet-message-call-backs I have set up.  Now I want to also receive a 2nd set of Ethernet messages with a different MAC address.  I want both MAC address to make it back to my receive-Ethernet-message-call-back function.


Question: What is the easiest way of doing this?


I thought the easiest way was to open up the MAC hardware filter on the Freescale processor.  But, I inspected the ENET_IAUR, ENET_IALR, ENET_GAUR and ENET_GALR registers using the debugger and see that they are all zero!  So, I assumed promiscuous mode was enabled.  So I inspected ENET_RCR-PROM and see that that bit is 0.  That is, promiscuous mode is disabled!


Question: How is this possible to receive any Ethernet messages if all the hardware MAC filters are set to block all messages?


My code is running and I can receive Ethernet messages with the MAC I have used to configure my code thus far.  And I have check alternative MAC address and do not see them.  So there is filtering going on somewhere.


Question: Where does MQX filter the inbound MAC addresses?