无线网络中各个节点不断地广播信标帧,收到某节点的信标帧之后才知道这个节点存在,知道它的网络配置是怎么样的,才能知道应该怎么和它通信。
那么问题来了,禁用了CSMA之后,发送节点全力发送,那么它会永远占用信道,邻居节点的信标帧再也收不到了,那么,等本地对邻居节点保存的信息超时之后,就认为对方节点已经不存在,就无法再正常发送了。
那么知道了原因,解决方案也就很简单了,把这个超时时间设长,长到完全可以满足实验需求就可以了。
打开net/mac80211/ibss.c,就在前几行宏定义里面找到:
#define IEEE80211_IBSS_INACTIVITY_LIMIT (60 * HZ)
这里的默认超时时间是1分钟,比如我可以改成1个小时:
#define IEEE80211_IBSS_INACTIVITY_LIMIT (60 * 60 * HZ)
这样就能保证pktgen在前一个小时里可以正常工作。
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。