Call for testers: rl(4) optimized for 8139C+

From: Bill Paul <wpaul_at_FreeBSD.ORG>
Date: Fri, 4 Jul 2003 17:18:13 -0700 (PDT)
Somehow I doubt I'm going to get a lot of responses to this, since I'm
not sure how many people besides me actually have an 8139C+ NIC. That
said, if you have one, and you're running FreeBSD 5.1 or later, please
try the driver code at:

	http://www.freebsd.org/~wpaul/RealTek/cplus

If you actually have a C+ card, it will show up like this:

rl0: <RealTek 8139 10/100BaseTX (C+)> port 0xc000-0xc0ff mem 0xdc001000-0xdc0010ff irq 11 at device 13.0 on pci0
rl0: Ethernet address: 00:e0:4c:00:00:1b
miibus5: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus5
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

Also, ifconfig rl0 will show this:

rl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>

The 8139C+ uses real descriptor-based DMA and actually exhibits
pretty good performance. (With my Athlon 900Mhz test machine, I can
achieve 143000 frames/sec raw transmit speed.) This driver supports
the following features:

- RX and TX descriptor lists
- RX and TX TCP/IP checksum offload
- RX and TX hardware vlan tagging
- TX interrupt moderation (using the 8139C+'s on-board timer)

The chip supports TCP large send, but there's no driver support for
that because there's no way to exploit it in FreeBSD. The chip also
supports two TX DMA queues (normal and high priority), but the
driver only takes advantage of one.

If you have a -current system, please compile this code with
-DNEW_BUSDMA_API (this enables the use of the two new arguments
to the bus_dma_tag_create() function which appeared a couple of
days ago).

I'm mostly looking for performance reports and success/failure
reports concerning VLANs. (I don't have an easy way to test the
VLAN support at home. I think I did everything right, but I
want to be sure before I commit to the tree.)

There is preliminary support for the 8169 gigE chip, but I don't
have a card to test with, so don't expect RealTek gigE NICs to work yet.

Lastly, I'm also interested to see just what NICs are out there that
use the 8139C+. The only way to spot the presence of such a chip raw transmit speed.) This driver supports
the following features:

- RX and TX descriptor lists
- RX and TX TCP/IP checksum offload
- RX and TX hardware vlan tagging
- TX interrupt moderation (using the 8139C+'s on-board timer)

The chip supports TCP large send, but there's no driver support for
that because there's no way to exploit it in FreeBSD. The chip also
supports two TX DMA queues (normal and high priority), but the
driver only takes advantage of one.

If you have a -current system, please compile this code with
-DNEW_BUSDMA_API (this enables the use of the two new arguments
to the bus_dma_tag_create() function which appeared a couple of
days ago).

I'm mostly looking for performance reports and success/failure
reports concerning VLANs. (I don't have an easy way to test the
VLAN support at home. I think I did everything right, but I
want to be sure before I commit to the tree.)

There is preliminary support for the 8169 gigE chip, but I don't
have a card to test with, so don't expect RealTek gigE NICs to work yet.

Lastly, I'm also interested to see just what NICs are out there that
use the 8139C+. The only way to tell if you have the chip is to check
the part number on it. (It should in fact say 8139C+.) I hope RealTek
has actually sold this chip well, because it actually seems to perform
really well.

-Bill

--
=============================================================================
-Bill Paul            (510) 749-2329 | Senior Engineer, Master of Unix-Fu
                 wpaul_at_windriver.com | Wind River Systems
=============================================================================
      "If stupidity were a handicap, you'd have the best parking spot."
=============================================================================
Received on Fri Jul 04 2003 - 15:18:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:14 UTC