Now, I want to send a multicast packet to Thread network from external network. I build the environment through " Running Border Router Application Scenarios" of " Kinetis Thread Stack Demo Applications User's Guide". The border router and router eligible device are both FRDM-KW24D512. The test steps is like this:
1.Add two multicast addresses to each interface on border router:
mcastgroup add ff03::1 0
mcastgroup add ff03::3ead 1
2.Add a multicast address to router eligible device
mcastgroup add ff03::3ead 0
3.Send two multicast ping request from PC
ping ff03::1
ping ff03::3ead
Border router can forward the ping request using ff03::3ead to the router eligible device, but ping request using ff03::1 is scarely forwarded by broder router during test. I don't know why only ff03::3ead is working well. If I want to send a multicast request with ff03::1 or other self-defined addresses, how to config the border router to forward the multicast packets to the Thread network?
Hi Mario,
I build the test environment following the step of " 11.2 External routing with Ethernet emulation over USB (RNDIS) on
Kinetis KW2xD and USB_KW41Z boards " of the user's guide.
I'm now use RNDIS interface.During test, there is very small probility to sucessfully send "ping ff03::1" or other self-defined multicast addresses to router eligile device from PC. But ping ff03::3ead can work well. I capture the packet of NXP RNDIS interface on PC. The original hop limit is 128 for all the multicast packets. I don't know what cause this.
In addtitional, the code(MKW2xD_ConnSw_1.0.2) I downloading from NXP website is different of yours.
if (NULL != mIpSerialtunInterfaceHandle)
{
IPIF_STATS_ENABLED((*mIpSerialtunInterfaceHandle)->stats.commonStats.rxTotal++);
IPIF_STATS_ENABLED((*mIpSerialtunInterfaceHandle)->stats.rxOctets += size);
pIpPktInfo = NWKU_CreateIpPktInfo();
if (NULL != pIpPktInfo)
{
/* create NWK Buffer and keep a pointer to the allocated buffer */
pIpPktInfo->pNwkBuff = NWKU_CreateNwkBuffer(0);
[...]
}
}
[...]
Regards,
Xin
Hi Xin,
Is it possible that you could provide a sniffer log of your network?
1. Just to confirm, Is it possible that you could provide the Routing table of both devices?
thr get
Could you please show the display joined multicast groups.
2. Did you try to send a unicast to the ff03::1 address? What is the address of the REED?
3. Could you please change the address of the IN6ADDR_REALMLOCAL_MCAST_3EAD to the ff03::1 address?
I want to confirm if there is a limitation with this defined address.
Regards,
Mario
Hi Xin Pan,
Did you solve your issue? Please let me know if you have any further questions.
Regards,
Mario
Hi Xin,
There is a hop limit configuration. You could change it if you are working on the Serian Tun Interface.
void IP_serialtunRecv(uint8_t *pInData, uint32_t size)
[...]
if (NULL != mIpSerialtunInterfaceHandle)
{
ip6Header_t *pIpHeader = (ip6Header_t *)pInData;
if (IP6_IsMulticastAddr((ipAddr_t *)pIpHeader->dstAddr))
pIpHeader->hopLimit++;
[...]
}
[...]
This will increase the hop limit parameter to address the additional interface. Note: You can put any other hop-limit value,
What is the interface that you are working on? Are you working on VTUN? Did you sniffer the traffic?
Regards,
Mario