パケットの優先度に基づいて異なるキューが使用されるように、マルチキューをサポートするNIC)があります。これらの各ハードウェアキューを通過するパケットフローを分析したいと思います。
キューはにリストされています
/sys/class/net/eth1/queues/
directoryディレクトリをチェックインしました
/sys/class/net/eth1/queues/tx-0/
ただし、tx_maxrate、tx_timeoutなどの情報があります。
各キューの統計を確認できる他のディレクトリはありますか? (送信パケット数、失われたパケット数など)
/sys/class/net/*/queues/
の下に表示されるのは、ドライバー/ハードウェアに依存する制限ですが、すべての決定はネットワークスケジューリングレイヤーで行われます(そして統計が収集されます)。このレイヤーは、たとえばtc
ツールを使用して、rtnetlinkインターフェースを介して管理されます。
優先順位とキューについて説明したように、おそらくmqprio
スケジューラーを使用して、すでにスケジューリングが設定されていると想定しています。そうでない場合は、 Traffic Control HOWTO で開始できます。少し時代遅れですが、基本は同じです。
(HW送信キューにマップされた)各スケジューリングクラスの統計を表示するには、tc -s class show dev eth1
を使用します。