batman-adv使用中修改一跳惩罚,batctl无法修改hop_penalty

batctl是batman-adv的一个调试命令,可以控制batman-adv中的许多参数,但是有时候batctl并不像它网页上所声称的能用那样,有些参数无法控制,这个时候我们可以修改/sys/class/net/bat0/mesh目录下的文件,这里以hop_penalty举例:

batman-adv写中计算tq的时候需要使用一个变量hop_penalty,即一跳惩罚。在转发的时候OGM包中的TQ会乘以hop_penalty,同时如果接收端口是,如果输出的接口是wifi,也会乘一次hop_penalty。

如果安装了batctl命令,则可以通过命令直接修改hop_penalty,不过注意,这个修改是临时性的修改,在系统重启之后就会恢复。https://www.open-mesh.org/projects/batman-adv/wiki/Tweaking。如果需要将修改写入rom保证每次修改都可以生效的话可以修改/etc/config/batman-adv 文件。

但是有时候即使安装了batctl命令也肯能出现输出batctl之后发现并没有修改hop_penalty的相关命令。这个时候我们可以直接去/sys/class/net/bat0/mesh目录下修改hop_penalty文件,如vim /sys/class/net/bat0/mesh/hop_penalty

原文地址:https://www.cnblogs.com/zornlink/p/11770792.html