VT6130 & jumbo frames: Driver or hardware problem?

I'm looking at replacing the hardware of one of my FreeBSD machines, and I've narrowed down the replacement hardware to one of two different motherboards. Checking out the hardware on each, the board I would prefer (for reasons other than just the Ethernet) has a VT6130 Ethernet controller, while the other board has a RTL8111EVL (I think the same thing as a RTL8111E, as far as drivers are concerned).

Normally I'd jump at the change to avoid anything Realtek, but I've submitted a couple PRs for a VIA controller in the past. Though the FreeBSD team has been amazing at fixing any driver issues, I noticed something interesting in the docs for vge(4).
Jumbo frames are disabled on the VT6130/VT6132 controllers because the TX MAC will hang when trying to send a frame that is larger than 4K.

Doing a bit more digging, I found the commit message:
Disable jumbo frame support for PCIe VT6130/VT6132 controllers.

Quite contrary to VT6130 datasheet which says it supports up to 8K jumbo frame, VT6130 does not seem to send jumbo frame that is larger than 4K in length. Trying to send a frame that is larger than 4K cause TX MAC hang.

Even though it's possible to allow 4K jumbo frame for VT6130, I think it's meaningless to allow 4K jumbo frame. I'm not sure VT6132 also has the same limitation but I guess it uses the same MAC of VT6130.

Which makes me wonder--how much of this is driver-related vs. hardware-related? I have a hard time believing VIA never tested more than a 4K TX jumbo frame on Windows or Linux, so was this just a hasty commit by a dev? Or is it really something wrong in the hardware itself? I tried to hunt around for docs on the Linux driver, but they seem either nonexistent or extremely difficult to find. Can anyone shed any light on the issue?

Thanks.

Edit: Seems the Realtek controller has a few problems of its own.
 
The Realteks are very common, and likely to be better supported. Better yet is Intel Ethernet on a card. It's a shame that only Intel seems to put them on the motherboard.
 
Agreed. If I had the option, I'd definitely opt for a board with an Intel controller, as this machine will be in a heavy network I/O role. And you're right, I'm sure the Realtek are far more common than the VIA controllers, and thus likely to be better supported, so I may opt for them.

I was just hoping someone could confirm or deny that the problem exists on other OSes (I think VIA may provide the Linux drivers and I'm sure they provide them for Windows).

Edit: Actually, after quite a bit more digging, I did manage to find a board with 82574L NICs, so I think I'll just get that one. I am still a little curious about the VT6130 though...
 
VIA Velocity VT612x had no problems on supporting jumbo frame. On PCIe VT613x, it no longer supports 9K frame size.
As I mentioned in the commit mail I intentionally disabled it mainly due to severe hardware limitation and code complexity(jumbo frame on VT613x is *NOT* compatible with VT612x). If Windows is able to use 9K jumbo frame on VT613x, there must be undocumented information that are not available to open source driver writers.

If you need really good performance on jumbo frame, consider buying server class controller. i82574L is *NOT* server class controller though.
 
Back
Top