ip addr show
Kubernetes 포드의 출력
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 1000
(ifconfig(8) 보기)
커널에서는 이것이 호출되며 기본값 dev->tx_queue_len
은 입니다 DEFAULT_TX_QUEUE_LEN = 1000
.ip link ls
대기열 규칙이 장치에 연결되면 장치 qlen
설정을 가져와서 사용합니다. qdisc를 다른 qdisc로 교체해도 여전히 동일한 것을 사용 qlen
하거나 noqueue
qdisc처럼 무시합니다.
(면책조항: 커널 전문가가 아닙니다)