禁用TCP卸载{完全,一般和容易}

我想在我的debian服务器上禁用tcp-offloading(“TOE”)。

ethtool -K ..... 

不过,我有一些愿望:

把它整合到debian中

这读取:没有rc.local,我也想避免伪rc脚本…

我猜测,它正在安装ethtool并使用pre-up.d / -Hook来使用/ etc / network / interfaces中的选项来取消configurationTOE。

我想使用FAI以通用的方式解除所有(未来)服务器的configuration。 (因为fai已经到位了 – 想要!)有些硬件不支持的脚趾选项呢? 如果应禁用不存在的选项,联网是否会失败? 我想这应该是强健的不这样做,但这似乎并不是我想要的解决scheme,要么。

它非常混乱configuration,因为atm有11个选项! 使用多个网卡,这对我来说很容易出错。

没有更通用的解决scheme吗? 我有一个sysctl,但没有find一个呢。 我的愿望是:

 echo 0 > /proc/sys/net/core/enable_tcp_offloading 

PS:我很惊讶地发现我的“新硬件”默认启用了TOE,因为: http : //www.linuxfoundation.org/collaborate/workgroups/networking/toe

find了! find“我的”解决scheme!

我只是把我自己的disable-toe脚本放在/etc/network/if-up.d/中 ,它完全禁用了tcp-offloading。

作为奖金,我已经添加了一个/ etc / network / interfaces – 选项,禁用了这个。

 #!/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软件包现在提供了一个if-up.d脚本,用于实现卸载选项(以及其他ethtool设置)。

你只需要安装这个软件包,并在/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 

closures主题(有点),但是当我试图弄清楚如何为一些RHEL6服务器做同样的事情的时候,我结束了。 因此,如果有人正在为RHEL / CentOS / Fedora发行版寻找相同的东西,那么您可以在这里find答案。