2020-10-11 11:09 AM
I can send ARP, UDP, ICMP, and so on, and all the other IGMP messages, but not the IGMP V2 Membership Report messages. Wireshark doesn't show those at all, but does show the others going out. So I've written a low-level driver test that composes the report message as packet content directly and sends that to the netif hardware. No sign of it on Wireshark. If I use the packet import facility of Wireshark it confirms that the packet I am sending is a correct membership report msg. BUT if I change the ether destination hardware address to all zeros, Wireshark sees the message going out. Since Wireshark confirms my non-zero address (when imported) I don't think the non-zero address is wrong. Either the device isn't sending it, or it is but Wireshark isn't seeing it. I assume the former, since Wireshark sees the others. The "good frames sent" ETH_MMCTGFCR register includes it in the count, and there is no error indicated. Now the wrinkle: I'm not using the STM driver, nor the LwIP stack. Instead I'm using a third party driver/stack and have extended it to support IGMP messages. I suspect my config of the MAC peripheral is filtering out the messages with a non-zero ether broadcast address (computed from the group IP address (01:00:5e:7f:4d:4d)), but I don't see any setting for that. I see filtering for incoming msgs, but not outgoing. What am I missing? I've attached the file containing the msg bytes I use when importing it into Wireshark, if that's of interest. As I say, Wireshark confirms it is valid. Any insights would be much appreciated.