Quick summary

net-misc/nforce-net is being removed from portage, in favour of the open-source "forcedeth" network driver included in the last few kernel releases.
If you own an nvidia nForce-based network adapter, all you need to do is read and perform the forcedeth installation instructions shown below. Or if you are more interested in the background, then read on in full...


What is nforce-net? (a.k.a. nvnet)

nforce-net is a package we provide in portage. It provides a driver (in the form of an external module) for the onboard network adapter found on many motherboards based on the following chipsets:
The nforce-net driver is provided by Nvidia, and consists of a large binary driver plus a small amount of "glue" code linking this driver to the Linux kernel (the glue code is open source, the main driver core is not).

Why is it being removed?

There are a number of unfixed bugs in the driver. Unfortunately because of its closed-source nature, nobody outside of Nvidia is able to fix these problems. New releases of the driver have been rare, it appears to be badly supported. (I mean no disrespect to Nvidia by saying this, and I certainly respect their more recent contributions to the open source side of the Linux community, see below!)

In October 2003, a group of kernel hackers managed to reverse-engineer the hardware, and produced an open source (GPL) driver which has been included in the kernel (both 2.4 and 2.6) for the past few releases. Suprisingly, even from day 1, this driver works very well and works around issues still present in Nvidia's nforce-net. This driver is named forcedeth.

More recently, much to everyones suprise, Nvidia have submitted patches to the forcedeth driver via the Linux kernel list - some hefty changes which have been accepted, and significant enough for Nvidia to claim copyright on the driver.

Interesting quote from nvidia developer:
We certainly appreciate your work developing forcedeth and will help maintain forcedeth in the future. Maybe you will be able to remove the "not endorsed by NVIDIA" in the header. :)
In addition to being open source, well maintained, and reliable, using forcedeth means that you also don't have to worry about remerging nforce-net on every kernel upgrade. You also don't have to worry about your kernel bug reports being invalid because your kernel is no longer tainted by binary modules. You also won't run into problems where nvidia's release of nforce-net is compiled using a completely different GCC version to the one present on your system.

But forcedeth is marked as EXPERIMENTAL in the kernel menuconfig

As already mentioned, forcedeth works around issues present (on my last check) in nforce-net. Many people (myself included) have been using this driver for months on end, and at least for me, it has worked flawlessly. Any problems that do emerge will be fixed quickly in the open nature of Linux development.


Forcedeth installation instructions

You simply need to enable the CONFIG_FORCEDETH option in your kernel config.
  1. Get into your kernel directory:
    $ cd /usr/src/linux
  2. Open menuconfig
    $ make menuconfig
  3. Select the forcedeth kernel option.

    If you are using Linux 2.6:
    Device Drivers  --->
     Networking support  --->
      Ethernet (10 or 100Mbit)  --->
       [*] EISA, VLB, PCI and on board controllers
         <*>   Reverse Engineered nForce Ethernet support (EXPERIMENTAL)
    
    Or, if you are using Linux 2.4:
    Code maturity level options  --->
     [*] Prompt for development and/or incomplete code/drivers 
    
    
    Network device support  --->
     Ethernet (10 or 100Mbit)  --->
      [*]   EISA, VLB, PCI and on board controllers
       <*>     nForce Ethernet support (EXPERIMENTAL)
    
  4. Recompile your kernel, and copy over to the relevant boot location, and update bootloader config as usual:
    (Note: these are sample instructions only, you should perform this stage as you would normally when updating kernel)
    make bzImage modules modules_install
    mount /boot
    cp arch/i386/boot/bzImage /boot
    umount /boot
    
  5. Remove nforce-net
    emerge unmerge nforce-net
    modules-update
    
  6. Reboot
Alternatively, you can build forcedeth as a module in the normal way, and add it to your autoload list.

- Daniel Drake <dsd@gentoo.org>
Also see bug #65330