I am trying to implement LLMNR support using UDP. I open the socket, then I bind to the Multicast IP and port. But when the 0x84 HCI_DATA_RECVFROM event fires, I am getting two packets from the same source IP, but different source ports combined together into a single 0x84 event. Since I don't have the source port for one of the packets, I cannot respond to it. Also, there is no way to know how to split these two messages since there is no start position or size value to indicate where the start of the second packet is.
Here is an image illustrating the problem. Notice there is no way to know the source port 61501. Packets with different source ports should have separate HCI_DATA_RECVFROM events!
Perhaps, the cc3000 combines these packets together because the bound port is the same for both packets in the case of Multicast UDP. If so, that is a big mistake because packets can and do come from a variety of different clients in a multicast group. These messages must remain separate.
I have tried to work around this by reducing the RECV size, but that did not work at all.