免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5311 | 回复: 5
打印 上一主题 下一主题

纠结了好几天的LINUX下tc filter的一个小问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-18 17:24 |只看该作者 |倒序浏览
刚刚接触LINUX下的TC模块,tc filter change命令让我感到很纠结
我建立了这样一个控制模型:
  1. tc qdisc add dev wlan0 root handle 1:0 cbq bandwidth 2Mbit cell 8 avpkt 1000
  2. tc class add dev wlan0 parent 1:0 classid 1:1 cbq bandwidth 2Mbit rate 2Mbit allot 1514 cell 8 weight 1Mbit prio 1 maxburst 20 avpkt 1000 bounded
  3. tc class add dev wlan0 parent 1:1 classid 1:20 cbq bandwidth 2Mbit rate 0.4Mbit allot 1514 cell 8 weight 0.2Mbit prio 5 maxburst 20 avpkt 1000 bounded
  4. tc class add dev wlan0 parent 1:1 classid 1:3 cbq bandwidth 2Mbit rate 1.6Mbit allot 1514 cell 8 weight 0.8Mbit prio 3 maxburst 20 avpkt 1000
  5. tc filter add dev wlan0 parent 1:0 protocol ip prio 1 u32 match ip src 10.0.1.3/32 match ip dst 10.0.1.6/32 flowid 1:20
  6. tc filter add dev wlan0 parent 1:0 protocol ip prio 1 u32 match ip src 10.0.1.4/32 match ip dst 10.0.1.3/32 flowid 1:20
  7. tc filter add dev wlan0 parent 1:0 protocol ip prio 1 u32 match ip src 10.0.1.4/32 match ip dst 10.0.1.6/32 flowid 1:20
复制代码
现在,我想把由10.0.1.3到10.0.1.6的filter的flowid换为1:3,我用了下面的命令
  1. tc filter change dev wlan0 parent 1:0 protocol ip prio 1 u32 match ip src 10.0.1.3/32 match ip dst 10.0.1.6/32 flowid 1:3
复制代码
结果总是提示
RTNETLINK answers: No such file or directory
We have an error talking to the kernel

为什么阿?有没有一种办法只用一条命令就能达到目的?

谢谢!

论坛徽章:
0
2 [报告]
发表于 2010-09-18 18:13 |只看该作者
我顶阿我顶

论坛徽章:
0
3 [报告]
发表于 2010-09-20 16:09 |只看该作者
你确定这个选项在内核中已经实现,或是没有被删除???用tc filter change改其它的配置行吗??还是只在你的这个配置中出问题?
以前改内核后,再运行iptables出现过类似的问题,把iptables在新内核中重编了一下就好了。
tc的man很古老了,这帮人好像没怎么更新手册。

论坛徽章:
0
4 [报告]
发表于 2010-09-20 16:11 |只看该作者
从“RTNETLINK answers: No such file or directory”来看,是内核中没有对应的模块应答你的这个请求,我还是比较怀疑内核没有支持这个change选项。

论坛徽章:
0
5 [报告]
发表于 2010-09-21 09:32 |只看该作者
从“RTNETLINK answers: No such file or directory”来看,是内核中没有对应的模块应答你的这个请求,我还 ...
ka-bar 发表于 2010-09-20 16:11



    用change从来没有成功过,我现在把那3个filter的优先级改成了互不相同的优先级,把想要change的filter先删了,又重新添加了一个filter。。。。。。
  为什么会不支持change呢?这也太不灵活了。
  我还想问一个问题,我准备测试的网络的拓扑结构是这样的:有三台机器,分别是10.0.1.4,10.0.1.3,10.0.1.6,其中10.0.1.3和10.0.1.6之间通信要以10.0.1.4作为中间节点,最开始的时候,10.0.1.3向10.0.1.6点播视频,这样视频就在1:20的信道内传输,然后,10.0.1.3向10.0.1.4请求下载,10.0.1.6就会发现视频很卡,然后我在每一台机器上都把10.0.1.3到10.0.1.6的filter都切换到1:3,使视频流和数据流分开。
   结果是视频依然很卡。
   为啥啊?

论坛徽章:
0
6 [报告]
发表于 2010-09-21 09:34 |只看该作者
回复 4# ka-bar


    谢谢大侠。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP