基於 TC 佇列的過濾¶
TC 可用於將流量定向到傳送和接收端的佇列集合或單個佇列。
在傳送端
TC 過濾器使用 action skbedit priority 將流量定向到佇列集合,以進行 Tx 優先順序選擇。當使用 mqprio 配置佇列集時,優先順序對映到流量類別(佇列集合)。
TC 過濾器使用 action skbedit queue_mapping $tx_qid 將流量定向到傳送佇列。用於傳送佇列的 action skbedit queue_mapping 僅在軟體中執行,無法解除安裝。
同樣,在接收端,支援以下兩種用於選擇佇列集合和/或單個佇列的過濾器
TC flower 過濾器使用 'hw_tc' 選項將傳入流量定向到佇列集合。 hw_tc $TCID - 指定一個硬體流量類別,將匹配的資料包傳遞到該類別。TCID 的範圍是 0 到 15。
使用 action skbedit queue_mapping $rx_qid 的 TC 過濾器選擇一個接收佇列。僅硬體支援用於接收佇列的 action skbedit queue_mapping。多個過濾器可能會在硬體中競爭佇列選擇。在這種情況下,硬體流水線根據優先順序解決衝突。在 Intel E810 裝置上,將流量定向到佇列的 TC 過濾器比分配佇列的流向器過濾器具有更高的優先順序。雜湊過濾器具有最低優先順序。