私の仕事では、tc は出力シェーピングを実行でき、入力ポリシングしか実行できないことがわかりました。なぜ tc が入力シェーピングを実装しないのだろうか?
コードサンプル:
#ingress
tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip prio 50 \
u32 match ip src 0.0.0.0/0 police rate 256kbit \
burst 10k drop flowid :1
#egress
tc qdisc add dev eth0 root tbf \
rate 256kbit latency 25ms burst 10k
しかし、私はこれを行うことはできません:
#ingress shaping, using tbf
tc qdisc add dev eth0 ingress tbf \
rate 256kbit latency 25ms burst 10k
IFB(更新された IMQ) と呼ばれるソリューションがトラフィックを出力にリダイレクトできることがわかりました。ただし、CPU を浪費しているため、良い解決策ではないようです。だからこれは使いたくない。
入力シェーピングは理にかなっていますか? そして、なぜ tc はそれをサポートしないのですか?