How to make ethtool settings persistent across reboots in CentOS / RHEL 6,7?

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.

 

Was this answer helpful? 0 Users Found This Useful (0 Votes)