Any change made with the ethtool program does not persist across reboots or network module (driver) reloads by default. Follow the steps given below to add the changes in such a way that they apply automatically at boot. Before setting the persistent options for ethtool, make sure you have the latest version of the package 'initscripts
'.
# yum update initscripts
Note: We have assumed that the NetworkManager is off when you apply the steps given below.
1. Set the ETHTOOL_OPTS
parameter in the interface’s ifcfg file found in the /etc/sysconfig/network-scripts/
directory. The network service scripts will run the ethtool program every time the interface is brought up. ethtool can be invoked multiple times by separating the values with a semicolon:
For example, the command :
# ethtool -s eth0 speed 100 duplex full autoneg off
will set the eth0 device to 100Mbs, full duplex, with the auto-negotiation off. To have the initialization scripts set this every time the eth0 device is brought up, add a line to the /etc/sysconfig/network-scripts/ifcfg-eth0 like this:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 ETHTOOL_OPTS="speed 100 duplex full autoneg off"
Below is another example where you can set a single option and multiple options persistently.
## Setting a single option (running ethtool once) ETHTOOL_OPTS="-G ${DEVICE} rx 4096" ## Setting multiple options (running ethtool multiple times) ETHTOOL_OPTS="-G ${DEVICE} rx 4096; -G ${DEVICE} -A autoneg on"
Here ${DEVICE} is the variable taken from the ifcfg configuration file, so you are not required to mention the actual device.