processors.wiki.ti.com/.../Black_list_implementation
这个黑名单功能只提供了添加,没有提供删除功能。
我很早以前就实现过这种方式,发现存在一个漏洞:
当一个节点加入网络,并且在等待协调器认证密钥时,协调器出现了临时故障,导致这个节点的密钥认证失败。虽然这个节点加入了正确的网络,但是节点会把这个正确的PANID加入到黑名单。
一个小的改进方法:ZDO_NWK_DISC_CNF消息的时候,zdoDiscCounter大于一个阈值且ZDApp_NwkDescListProcessing返回NULL的时候,清空一次黑名单。