noqueue qdiscのqlen 1000の意味は何ですか?

noqueue qdiscのqlen 1000の意味は何ですか?

ip addr showKubernetes Podの出力

root@customer-fd99fb7dc-82hrr:/app# ip -c addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 8e:e3:d2:b5:d2:94 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.171.139/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::8ce3:d2ff:feb5:d294/64 scope link 
       valid_lft forever preferred_lft forever

etho0@1f6ペアの一端ですveth。これが説明するqdisc noqueue

noqueue qdiscについて私が理解したことは、可能であればネットワークパケットをすぐに送信し、そうでなければパケットを破棄することです。したがって、どのキューでもnoqueueがサポートされていないとします。しかし、qlen 1000それは私の理解と矛盾しています。

noqueueこれは内部キューがあることを意味しますか? noqueue qdiscをpfifo_fastから3つの内部クラス/バンドを引いた値として処理できますか?

ベストアンサー1

qlen使用中ip link set eth0 txqueuelen 1000またはifconfig eth0 txqueuelen 1000ifconfig(8) ビュー)

カーネルではこれが呼び出され、デフォルトdev->tx_queue_lenはですDEFAULT_TX_QUEUE_LEN = 1000ip link ls

キュールールがデバイスに接続されたら、デバイスqlen設定を取得して使用します。 qdiscを別のqdiscに置き換えても、まだ同じものを使用するか、qlenqdiscnoqueueのように無視します。

(免責事項:カーネルの専門家ではありません)

おすすめ記事