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
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 exaple where you can set 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.