[SOLVED] Throughput of a PCIe 2.0 Ethernet card in a PCIe 1.0 slot?

oldsports

Honorable
Feb 8, 2015
12
0
10,510
I provide pro bono IT work for a small non-profit; they get free help and I get to have some fun learning new skills. Recently, I ditched their Internet provider's modem/router and replaced it with a pfSense router I built from one of their old desktop machines. In addition to providing Internet service for their needs, they also share their Internet service with a couple of other small non-profits who occupy the building with them. The pfSense router allowed me to separate the traffic between the non-profits with VLAN's, providing network protection that they did not have.

The pfSense router has a 1Gb Ethernet port that connects to an 8-port managed switch that services all of the client offices. The managed switch has a 10Gb trunk port but it is only operating at 1Gb due to the router's 1Gb port. I am contemplating purchasing a 10Gb Ethernet card for the router to take advantage of the switch's 10Gb trunk. The pfSense router has PCIe v1.0 slots; there is a x16 slot available to be used. I cannot find a v1.0 x16 10Gb Ethernet card; I have found a v2.0 x8 card on eBay (doing this cheaply!) that will fit in the slot.

I know that PCIe v2.0 is twice as fast as v1.0, but I believe that the v2.0 card will revert to v1.0 speed when inserted into a v1.0 slot. If this is the case, does that mean that the 10Gb card will operate at 5Gb? If I am doing my math correctly (based on some information I got from the Web), v1.0 speed is 250MBps per lane or 1Gbps (1 Byte = 8 bits). Multiplying this by 8 (the number of lanes on the x8 card), this would give a theoretical speed of 8Gbps.

Am I thinking about this correctly? Any help would be appreciated. Thanks!
 
Solution
I think your math is wrong but I am also not sure how theoretical vs real life PCIE slots.

250MByte is 2gbit not 1. The rate on a v1 x8 says it is 2GBYTE in the table I looked at. So that means 16mbit.

What you will find with a older machine is that other things will bottleneck your nic does. Likely a CPU issue but if you transferring data to the old disk drives on the server many of those old drives can not even full utilize a gbit port.
I think your math is wrong but I am also not sure how theoretical vs real life PCIE slots.

250MByte is 2gbit not 1. The rate on a v1 x8 says it is 2GBYTE in the table I looked at. So that means 16mbit.

What you will find with a older machine is that other things will bottleneck your nic does. Likely a CPU issue but if you transferring data to the old disk drives on the server many of those old drives can not even full utilize a gbit port.
 
Solution

oldsports

Honorable
Feb 8, 2015
12
0
10,510
bill001g - Thanks for the reply. As I understand what I read on the Web, the 250MBps (1 Gbps) I quoted is for 1 direction of the PCIe lane. Since PCIe lanes are bi-directional, that would mean one lane could handle 2 Gbps half-duplex or 1 Gbps full-duplex. I was quoting the full-duplex speed, but I realize that I did not make that clear in my original post. I also assume that the 10Gb card was referring to full-duplex speed.

I agree with your statement that other things could become the bottleneck before the NIC, so getting the full capacity from the NIC may not happen. I upgraded the CPU (2.83GHz quad-core), installed an SSD and increased the RAM to 8GB when I converted the computer into the pfSense router (for about $50 total); I am hoping this makes a difference. I am just curious what I could potentially expect out of the 10Gb card, assuming no bottlenecks in other parts of the system.

Thanks!
 

oldsports

Honorable
Feb 8, 2015
12
0
10,510
bill001g - You are correct; I found my math error. It is 2 Gbps full-duplex per lane, so theoretically I could get 16 Gbps of bandwidth from an x8 card if there are no other bottlenecks in the system. Thanks!
 
Unless there is a huge number of users I suspect you will come nowhere near 10gbit. It is not like a user even uses 1gbit very often. To have multiple running at maximum rate at the same time is not likely.

Only you know your traffic patterns. PFsense can be pretty stupid sometimes. Somethings run single thread so extra processors do not help some applications.