How to make Ethernet settings on Linux persist after a reboot

Ethtool is a Linux utility that displays and changes Ethernet card settings. For example, to turn on flow control for Ethernet device 5 you can issue the following command:
ethtool –A eth5 tx on rx on
The problem is that these settings are lost on reboot of a server. While there is no way to make these settings persistent using ethtool by itself, you can make them persistent with a script. I found that the script /etc/sysconfig/network-scripts/ifup-ethpost checks for a script called /sbin/ifup-local on boot. If it exists then it is run once for each Ethernet device, and the device name is passed in as an argument. In my particular case I needed to turn on flow control for Ethernet devices 4 and 5 so I created the script and put the following piece of code into it:
#!/bin/bash
case "$1" in
 eth[45])
  /sbin/ethtool -A $1 rx on tx on
  ;;
esac
exit 0
You must also make sure that the script is executable or it will not run:
chmod +x /sbin/ifup-local
I have also determined that the calling script is named /etc/sysconfig/network-scripts/ifup-post on RHEL 5.6.