I'm having the same or a similar problem on a CentOS 6.2. VMWare virt running on a Mac OSX 10.6 host.
After booting up, the networking is fine. After suspending and resuming, routed shows no routes, and ifconfig shows only the lo device, and restarting networking behaves as though there is no eth0 device. SELinux complains about ifconfig having tried to read /var/run/vmware-active-nics, but no such file exists at that point.
If I reboot, everything is fine, but that file is not there. If I touch that file, then run restorecon -v on that file, then suspend and resume, everything is fine.. except that after either rebooting or suspending and resuming, that file is gone again, and the next time I suspend and resume, I get the networking failure and the SELinux complaint again.
Something that happens at boot and resume time is unlinking that file. vmware-tools-distrib is installed. I tried reinstalling it, but that didn't have any affect.
Running setenforce 0 before suspending doesn't seem to have any affect, I still get the SELinux complaint.
I was running this same setup without having these problems, except SELinux was disabled, and I was running Centos 5.8.
Edit - fixed this by altering the SElinux policies as follows:
grep ifconfig /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
Before running semodule, I looked at the generated mypol.te file:
module mypol 1.0;
require {
type ifconfig_t;
type initrc_var_run_t;
class file read;
}
#============= ifconfig_t ==============
allow ifconfig_t initrc_var_run_t:file read;
(Kind of a hack, with that policy module name, but. It's a break-fix measure until vmware-tools does something better, I guess. If I have to making policy changes for other things, I'll revisit the name.)
Edit #2 - wasn't fixed after all, more tweaks were required:
I could've sworn it was working, but this morning when I resumed, eth0 failed to come up. I edited /etc/vmware-tools/resume-vm-default, and commented out the line that removes the /var/run/vmware-active-nics file. That seemed to help at first, but after multiple suspend-resumes, it didn't. Or maybe it was after shutting down vmware that it didn't. Anyway, doing that made it some after resuming, that file is still there, so I could run that script manually and see it's output, where upon I found that it was saying that eth0 wasn't managed by NetworkManager. Not sure what that's about, but restarting the NetworkManager service fixes it until the next time I resume. So I added a line to resume-vm-default that says
service NetworkManager restart
Now I can suspend the virt, shutdown VMWare entirely, start it back up, and resume the virt, and eth0 comes and connects up.