0
我需要刪除內核中的conntrack條目。有許多功能,如nf_ct_delete
和nf_ct_put
。目前我在skb->nfct
上使用了兩個(在跟蹤的追蹤skb上的塊)。它似乎一開始工作正常,但幾秒鐘後內核崩潰。刪除內核中的conntrack條目
我當前的代碼如下:
struct nf_conntrack *con = skb->nfct;
nf_conntrack_get(sub_conntrack);
//... do some stuff
nf_ct_delete((struct nf_conn *) con, 0, 0);
nf_ct_put((struct nf_conn *) con);
刪除,並把語句的執行後直接,我請與conntrack -L conntrack
條目,他們都走了(如預期)。但是一分鐘左右後,系統凍結。我猜conntrack啓動了一些定時器,當被解僱時會崩潰。
所以我的問題是:我如何立即刪除的一切爲一個特定的連接?包括停止任何計時器並清理所有狀態。