您好!
我们针对 CC3220进行了特殊设置、该设置仅在网络旁路模式 IPv6下工作。 我能够发送和接收原始数据包。
但是、我无法接收多播路由器广播消息(我已验证这些消息确实正在通过 Wireshark 多播到 FF02::1)
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我们针对 CC3220进行了特殊设置、该设置仅在网络旁路模式 IPv6下工作。 我能够发送和接收原始数据包。
但是、我无法接收多播路由器广播消息(我已验证这些消息确实正在通过 Wireshark 多播到 FF02::1)
谢谢
我假设下面的代码将禁用滤波器
静态空 WIFIsDisableInternalFilter (void)
{
SlWlanRxFilterOperationCommandBuff_t filterBitmap ={
{0}
};
uint16_t ConfigOpt = SL_WLAN_RX_FILTER_STATE;
uint16_t ConfigSize = 0;
ConfigSize = sizeof (slWlanRxFilterRetrieveStateBuff_t);
memset (&filterBitmap.FilterBitmap、0、16);
IF (sl_WlanGet (sl_WLAN_RX_FILTERS_ID、&ConfigOpt、&ConfigSize、
(uint8_t*)&filterBitmap){
DBG_printf ("错误:读取内部过滤器\r\n);
while (1);
}
if (0x0!= filterBitmap.FilterBitmap){
memset (&filterBitmap.FilterBitmap、0x00、16);
IF (SL_WlanSet (SL_WLAN_RX_FILTERS_ID、SL_WLAN_RX_FILTER_STATE、
sizeof (slWlanRxFilterOperationCommandBuff_t)、
(uint8_t *)&filterBitmap){
DBG_printf ("错误:禁用内部过滤器\r\n);
while (1);
}
}
memset (&filterBitmap.FilterBitmap、0、16);
IF (sl_WlanGet (sl_WLAN_RX_FILTERS_ID、&ConfigOpt、&ConfigSize、
(uint8_t*)&filterBitmap){
DBG_printf ("错误:读取内部过滤器\r\n);
while (1);
}
}
我无法生成通向此节点的任何 IPv6流量、因为我正在等待路由器广播、而路由器广播从未到达。
这里有趣的部分是、为了实现这一点、我构建了相同的代码(在第二个评估板上绕过网络、但将其置于 AP 模式) 我的第一个模块将 IPv6数据包发送到多播地址、我可以看到 AP 模式模块成功接收到该数据包。 AP 和 STA 模式在堆栈旁路方面是否存在差异?
_u32 IfBitmap = 0; IfBitmap = sl_netcfg_if_ipv6_STA_local | sl_netcfg_if_ipv6_STA_global; if (sl_NetCfgSet (sl_netcfg_if、sl_netcfg_if_State、sizeof (IfBitmap)、(uint8_t*)&IfBitmap))) { while (1); }
启用接口:)已帮助。 我假设将 IP 设置为0.0.0.0并禁用筛选器就足够了。