不像class,新增後 想要刪除很簡單 直接把tc命令中的add換成del就可以了,如果class重複,就會像新增路由出錯時候一樣有提示。
但是filter不一樣,相同規則的filter可以不斷持續的新增,規則新增後,核心會用不同的控制代碼號(handle)來區分,
刪除乙個filter,不能簡單的把規則的add換成del,那會刪除所有的filter規則,因為你沒有提供最重要的控制代碼號(handle) 沒有提供就是0 是0就會刪除所有規則。
you must at least provide the following:如果乙個filter已經和乙個class關聯了,那麼你如果刪除這個class就會得到這樣的提示:rtnetlink answers: device or resource busydevparent (qdisc or class)
prio
kind (filter type)
handle
所以,刪除一條class規則前,要先把和這個class關聯的filter刪除掉。下面是我的乙個實現($id 代表class規則id號碼)
檢視源**
1
handles=`tc filter list dev $ |
grep
"flowid 1:$"
|
awk
''
`
2
3
for
handle
in
$handles
4
do
5
tc filter delete dev $ parent 1: protocol ip prio 1 handle $ u32
6
done
之所以要用迴圈,因為filter可能有多條關聯乙個class
Servelet元件之一的filter過濾器
什麼是filter filter,過濾器,顧名思義,即是對資料等的過濾,預處理過程。為什麼要引入過濾器呢?在平常訪問 的時候,有時候發一些敏感的資訊,發出後顯示時 就會將敏感資訊用 等字元替代,這就是用過濾器對資訊進行了處理。這只是乙個簡單的例子,當然,過濾器那麼強大,它的功能也不可能侷限於此,它不...
正確刪除 linux的方法
如果你需要從乙個硬碟驅動器中刪除 linux 並且已經試圖用預設的 dos windows fdisk 來這麼做,你將會遇到 分割槽存在但又不存在 的問題。要刪除非 dos 分割槽的最好辦法是使用乙個理解分割槽而不單是 dos 的工具。首先,插入 red hat linux 光碟來引導系統。引導後,...
刪除storyboard的正確方法
刪除storyboard的正確方法 一般情況下,我們有時候不想用storyboard,但是直接刪除的話,xcode就會報錯。那我今天就來講一下,正確刪除storyboard的方法。第一,直接將工程中的storyboard直接刪除掉,這樣你覺得就ok了?你錯了,還是要有第二步的。第二,找到plist檔...