2012-06-26 99 views
0

我在1Gbit/sec網絡上測試netlink過濾應用程序:我有用戶空間函數向netlink socket發送判定結果;另一個用戶空間例程對來自netlink套接字的標記數據包和一些自定義過濾器函數執行異步讀取。對於大於300 Mbps的比特率,我看到netlink套接字讀取錯誤「沒有可用的緩衝區空間」。我把它當作netlink緩衝區溢出。 有人可以推薦一種方法來提高高速網絡的netlink吞吐量嗎?我的內核版本是2.6.38。netfilter速度限制

+0

這個「沒有可用的緩衝區空間」消息是從哪個函數報告的? – caf

+0

我不認爲netlink套接字是專爲高性能數據包處理而設計的。 – ugoren

+0

哪個功能是從這個「無緩衝空間可用」消息報告?\ n – user270398

回答

0

在內核與用戶空間之間存在套接字。通過套接字數據包上傳到用戶空間。套接字緩衝區已滿,所以你得到一個錯誤。您可以定義套接字緩衝區大小並增加它(這是通過netlink完成的)