OpenWrt sscanf问题之于MT7620N与AR9341

在MT7620N平台做好了wifidog的相关调试工作,除了eth驱动,wireless性能问题,其余的都可以基本正常。根据实际需要要对已完成的工作在AR9341平台上实现。

其实也简单,基本功能类似,主要就是针对交换机的配置。


在测试限速功能的时候,发现了大问题。

因为之前在MT7620N的时候发现上传限速不起作用,后来发现是接口的问题,要限制获取wan ip的接口。

这里是完全不正常。

tc disc show 显示了些信息但是,不懂,需要继续学习啊。

tc -s class show dev br-lan 执行这个是有信息的
tc -s filter show dev br-lan 但是到了这个就没有了。

问了高人,说是filter才是限制某个IP的速度的!

后来就在设置这些的地方加调试信息,果然发现程序在sscanf这里返回了。

unsigned short flowid;

sscanf(ip, "%*d.%*d.%*d.%u", flowid);

 这里的flowid是0. 明显不符合正常IP. 

使用SDK写了个测试程序,发现问题这里如果定义为int flowid就OK. 

最后我总结这个问题为编译器版本问题,或者是(系统架构问题?)。


你可能感兴趣的:(OpenWrt sscanf问题之于MT7620N与AR9341)