I ran into this problem.

I upgraded my Gentoo kernel and suddenly my Eth stop working it was continously saying that there was no driver for the NIC, actually it said, there is no NIC at all.

That was a driver problem, the way the gentoo community helped me on the mailing list to solve this problem is applicable to any other similar situacion, and not only on gentoo but on any other distro you are tying to configure and compile your own kernel.

First to know which drivers you need, start with a Live CD, like Ubuntu, Knoppix or any other.

then run:

sudo lspci -v

This is part of the output of my system:

00:00.0 Host bridge: Intel Corporation 82P965/G965 Memory Controller Hub (rev 02)
	Subsystem: Intel Corporation Device 514d
	Flags: bus master, fast devsel, latency 0
	Capabilities: [e0] Vendor Specific Information 

00:01.0 PCI bridge: Intel Corporation 82P965/G965 PCI Express Root Port (rev 02) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	Memory behind bridge: 90000000-91ffffff
	Prefetchable memory behind bridge: 0000000080000000-000000008fffffff
	Capabilities: [88] Subsystem: Intel Corporation Device 514d
	Capabilities: [80] Power Management version 3
	Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable+
	Capabilities: [a0] Express Root Port (Slot+), MSI 00
	Capabilities: [100] Virtual Channel 
	Capabilities: [140] Root Complex Link <?>
	Kernel driver in use: pcieport-driver

00:03.0 Communication controller: Intel Corporation 82P965/G965 HECI Controller (rev 02)
	Subsystem: Intel Corporation Device 514d
	Flags: bus master, fast devsel, latency 0, IRQ 11
	Memory at 92226100 (64-bit, non-prefetchable) [size=16]
	Capabilities: [50] Power Management version 3
	Capabilities: [8c] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable-

00:19.0 Ethernet controller: Intel Corporation 82566DC Gigabit Network Connection (rev 02)
	Subsystem: Intel Corporation Device 0001
	Flags: bus master, fast devsel, latency 0, IRQ 216
	Memory at 92200000 (32-bit, non-prefetchable) [size=128K]
	Memory at 92224000 (32-bit, non-prefetchable) [size=4K]
	I/O ports at 20e0 [size=32]
	Capabilities: [c8] Power Management version 2
	Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable+
	Kernel driver in use: e1000e

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02) (prog-if 00 [UHCI])
	Subsystem: Intel Corporation Device 514d
	Flags: bus master, medium devsel, latency 0, IRQ 16
	I/O ports at 20c0 [size=32]
	Kernel driver in use: uhci_hcd

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02) (prog-if 00 [UHCI])
	Subsystem: Intel Corporation Device 514d
	Flags: bus master, medium devsel, latency 0, IRQ 21
	I/O ports at 20a0 [size=32]
	Kernel driver in use: uhci_hcd

As you can see there is a common line at the end of each block of text, which is the kernel driver you are using, now you can go to Gentoo, and configure your kernel according to the Gentoo Handbook and use the info you got from lspci on the Live CD to know which modules activate on your Kernel config, that way you should end with a small kernel, but all your hardware should work, provided that the Live CD had detected all your hardware.

Hope it helps.