0

1Gbit/sec ネットワークで netlink フィルター アプリケーションをテストしています。ユーザー空間関数が netlink ソケットに判定を送信しています。別のユーザー空間ルーチンは、netlink ソケットといくつかのカスタム フィルター関数からマークされたパケットの非同期読み取りを実行します。ビットレートが 300 Mbps を超える場合、netlink ソケット読み取りエラー「利用可能なバッファ領域がありません」が表示されます。私はそれをネットリンクのバッファオーバーフローと考えています。高速ネットワークのネットリンクのスループットを改善する方法について誰かが推奨できますか? 私のカーネルのバージョンは 2.6.38 です。

4

1 に答える 1

0

カーネルとユーザー空間の間にソケットがあります。ユーザースペースへのソケットパケットアップロードを介して。ソケット バッファがいっぱいであるため、エラーが発生します。cでは、ソケットバッファサイズを定義して増やすことができます(これはnetlinkによって行われます)

于 2012-08-15T20:29:54.577 に答える