私のdebianサーバーでtcp-offloading( "TOE")を無効にしたい。
ethtool -K .....
しかし、私にはいくつかの願いがあります。
debianに完全に統合します
これは次のようになります:rc.localはありません。疑似rcスクリプトの記述も避けたいです...
私は推測するでしょう、それはethtoolをインストールし、pre-up.d /-Hookを使用して、/ etc/network/interfaces。
[〜#〜] fai [〜#〜]を使用して、一般的な方法ですべての(将来の)サーバーを構成解除したいと思います。 (faiがすでに設置されているため-そして欲しかった!)一部のハードウェアでサポートされていないトーオプションについてはどうですか?存在しないオプションを無効にする必要がある場合、ネットワークは失敗しますか?そうしないことが堅牢である必要があると思いますが、これも私の望んだ解決策ではないようです。
Atmには11のオプションがあるため、設定が非常に煩雑になります。複数のNICを使用すると、エラーが発生しやすくなります。
より一般的な解決策はありませんか?私はsysctlを念頭に置いていますが、まだ見つけていません。私の望みは:
echo 0 > /proc/sys/net/core/enable_tcp_offloading
PS:このため、「新しいハードウェア」でデフォルトでTOEが有効になっていることに驚いています。 http://www.linuxfoundation.org/collaborate/workgroups/networking/toe
ユーレカ! 「私の」解決策が見つかりました!
私は自分のdisable-toeスクリプトを/ etc/network/if-up.d /に配置するだけで、tcpオフロードを完全に無効にします。
おまけとして、これを無効にする/ etc/network/interfaces-Optionを追加しました。
#!/bin/bash
RUN=true
case "${IF_NO_TOE,,}" in
no|off|false|disable|disabled)
RUN=false
;;
esac
if [ "$MODE" = start -a "$RUN" = true ]; then
TOE_OPTIONS="rx tx sg tso ufo gso gro lro rxvlan txvlan rxhash"
for TOE_OPTION in $TOE_OPTIONS; do
/sbin/ethtool --offload "$IFACE" "$TOE_OPTION" off &>/dev/null || true
done
fi
Debianでは、ethtool
パッケージが、オフロード(およびその他のethtool
設定)のオプションを実装するif-up.d
スクリプトを提供するようになりました。
このパッケージをインストールして、このような行をインターフェイスin/etc/network/interfaces
に追加するだけです。
auto eth0
iface eth0 inet static
address 10.0.3.1/255.255.248.0
gateway 10.0.2.10
offload-tx off
offload-sg off
offload-tso off
オフトピック(一種)ですが、一部のRHEL6サーバーで同じことを行う方法を理解しようとしたときに、ここで終わりました。したがって、誰かがRHEL/CentOS/Fedoraディストリビューションと同じものを探しているなら、答えは here です。