TC 動作 - 環境規則¶
對於任何新的 tc 動作的作者,環境規則如下:
如果你竊取或借用任何資料包,你將偏離正道,你應該克隆它。
例如,如果您的動作將資料包排隊以便稍後處理,或者透過重定向資料包有意分支,那麼您需要克隆該資料包。
如果您修改任何資料包,則在其他人引用 skb 的情況下,您應該呼叫 pskb_expand_head。之後,您就“擁有”了 skb。
丟棄你不擁有的資料包是不可接受的。您只需將 TC_ACT_SHOT 返回給呼叫者,他們將丟棄它。
對於動作的呼叫者(qdiscs 等),環境規則如下:
您有責任釋放任何作為 TC_ACT_SHOT/STOLEN/QUEUED 返回的內容。 如果沒有返回 TC_ACT_SHOT/STOLEN/QUEUED,那麼一切都很好,您不需要做任何事情。
如果有任何不清楚的地方,請在 netdev 上發帖。