eth0 NIC Link is Down repeating message in kernel log

  1. check for errors on the wire, look at the "errors" field in the output of ifconfig. If non-zero then there are problems with hardware (cable, NIC card, or hub/switch). An unreliable Ethernet cable will give errors in this field too.
  2. replace the Ethernet cable, regardless of step 1. This is quick, cheap and easy, and should be done whenever your link is going up and down at random intervals.
  3. use ethtool and make sure the network settings (duplex, etc) match those on the switch. If you are not the admin of the switch, then ask the network admin to provide you with the settings.
  4. if the switch has flow control enabled, then be sure it is enabled on your Linux box. Otherwise, disable it.

As a side note, you should assess whether you need flow control. According to HP, it is only necessary for high-performance applications: see HP article on When to Use Flow Control