对于流量整形,我目前在此页面上使用的设置与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中一样
>我想找到一个从表中删除一条规则(例如1.2.1.123)的命令,其余部分保持不变并正常工作.