MAC address filtering doesnt let ICMPv6 packets in
Hi,
I'm using NUCLEO-H743Z1 board with FreeRTOS+TCP stack. In the network interface of the stack I have configured the primary MAC address as 0x00:0x11:0x22:0x33:0x44:0x46 which gets written into the MACA0HR and MACA0LR registers in HAL_ETH_Init(). With respect to IPv4 everything works UDP, TCP, ICMP. But if I add IPv6, I'm not able to receive ICMPv6 (ping requests) packets which has destination MAC address as my primary MAC address (0x00:0x11:0x22:0x33:0x44:0x46), all though ICMPv4 packets with same destination MAC address are getting in.
For other IPv6 functionalities, such as RA, to work, I have added IPv6 all nodes multicast MAC address (33:33:00:00:00:01) also to another MAC address register. RA works, I'm able to get IPv6 global address through RA. But the puzzling thing is ICMPv6 (ping requests) packets doesnt get through.
One thing I noted is that if I enable all bits from 29 to 24 (MBC[5:0]: Mask Byte Control) of the MAC address registers I'm able to get the ICMPv6 (ping requests) packets, as there is no MAC filtering anymore. So I can confirm that the packets are rejected by the hardware and there is no checksum or packet issues.
Have anyone encountered this issue? Can the same primary MAC address configured in MACA0HR and MACA0LR registers be used for both IPv4 and IPv6 packets?
Thanks a lot for the help!