linux – TC哈希过滤器 – 单一规则删除
对于流量整形,我目前在此页面上使用的设置与LARTC的设置完全相同:
http://lartc.org/howto/lartc.adv-filter.hashing.html 我有一个简单的问题 – 每次我想修改哈希表中的东西(比如将IP分配给不同的flowid),我需要删除整个过滤器表并再次按过滤器添加它. (我实际上不是手工完成,我有一个很好的程序,它为我做…但仍然…)有一个问题 – 我有这样的方式分配大约10k过滤器并删除和重新填充整个filtertable可以变得非常冗长,这对于流量整形来说并不是很好.我的程序可以轻松地设法只删除需要删除的规则(从而将整个问题减少到几个命令和毫秒),但我根本不知道只删除一个哈希规则的命令. 我的过滤器显示: filter parent 1: protocol ip pref 1 u32 filter parent 1: protocol ip pref 1 u32 fh 2: ht divisor 256 filter parent 1: protocol ip pref 1 u32 fh 2:a:800 order 2048 key ht 2 bkt a flowid 1:101 match 0a0a0a0a/ffffffff at 16 filter parent 1: protocol ip pref 1 u32 fh 2:c:800 order 2048 key ht 2 bkt c flowid 1:102 match 0a0a0a0c/ffffffff at 16 filter parent 1: protocol ip pref 1 u32 fh 800: ht divisor 1 filter parent 1: protocol ip pref 1 u32 fh 800::800 order 2048 key ht 800 bkt 0 link 2: match 00000000/00000000 at 16 hash mask 000000ff at 16 希望:’tc filter del …’命令只删除一个特定的过滤器(例如0a0a0a0a IP匹配(IP地址10.10.10.10)).删除一些小的子组也会很好 – 例如我仍然可以很快地重建一个桶(bkt a). 我的尝试:我尝试使用prio对所有过滤器进行编号,但没有任何帮助 – 它们只是在下面创建了一些不可用(但可删除)的东西,但是被删除之后仍然存在被删除的过滤器. 有任何想法吗? 编辑 – 我正在添加一个简化的tl; dr描述问题: >我在一些interfce上创建了哈希过滤器,就像在这个http://lartc.org/howto/lartc.adv-filter.hashing.html中一样 解决方法
我知道这是一个老帖子,但我正在使用它,它似乎运作良好:
添加过滤器: tc filter add dev eth1 parent 1: handle ::100 prio 1 protocol ip u32 match ip dst 10.10.10.10/32 flowid 1:100 删除过滤器: tc filter del dev eth1 parent 1: handle 800::100 prio 1 protocol ip u32 只需为您需要的每个过滤器更改数字“100” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |