Optimal setting for advanced parameters for Realtek PCI-e GBE family network card

superusers.

I am trying to get the best possible setting for my Realtek PCI-e GBE family controller network card so that when it will be literally minimal or zero lag when playing online game. (before I destroy my keyboard because I am so tired of lag and disconnects in game)

Here is my current settings:

ARP Offload - Enabled
Auto Disable Gigabit - Disabled
Energy Efficient Ethernet - Disabled
Flow Control - Enabled
Green Ethernet - Disabled
Interrupt Moderation - Enabled
IPv4 Checksum Offload - Rx & Tx Enabled
Jumbo Frame - Disabled
Large Send Offload v2 (IPv4) - Enabled
Large Send Offload v2 (IPv6) - Enabled
Network Address - "Value" field empty, "Not Present" checked
NS Offload - Enabled
Priority & VLAN - Priority & VLAN Enabled
Receive Buffers - 512
Receive Side Scaling - Enabled
Shutdown Wake-On-Lan - Disabled
Speed & Duplex - 100Mbps full duplex
TCP Checksum Offload (IPv4) - Rx & Tx Enabled
TCP Checksum Offload (IPv6) - Rx & Tx Enabled
Transmit Buffers - 128
UDP Checksum Offload (IPv4) - Rx & Tx Enabled
UDP Checksum Offload (IPv6) - Rx & Tx Enabled
Wake on Magic Packet - Enabled
Wake on pattern match - Enabled
WOL & Shutdown Link Speed - 10 Mbps First

Please let me know asap !

Solution 1:

Additional details here: http://dox.ipxe.org/realtek_8h_source.html

Speed & Duplex

Switch link speed and duplex.

  • Auto Negotiation : switch choose best speed automatically
  • 10 Mbps Half Duplex : highest link speed is 10 half
  • 10 Mbps Full Duplex : highest link speed is 10 full
  • 100 Mbps Half Duplex : highest link speed is 100 half
  • 100 Mbps Full Duplex : highest link speed is 100 full
  • 1.0 Gbps Full Duplex : highest link speed is 1000 full

NetworkAddress

Change the MAC address of network card. Please do not use broadcast or multicast address. If so, the driver stops to load after the wrong MAC address changed.

IPv4 Checksum Offload

OS offloads IPv4 checksum calculation to hardware.

  • Rx & Tx Enabled : Both RX and TX are enabled
  • Tx Enabled : OS only offloads TX packets to hardware
  • Rx Enabled : OS only offloads RX packets to hardware
  • Disabled : OS use software routine to calculate checksum

TCP Checksum Offload (IPv4)

OS offloads IPv4 TCP checksum calculation to hardware.

  • Options are same as IPv4 Checksum Offload

UDP Checksum Offload (IPv4)

OS offloads IPv4 UDP checksum calculation to hardware.

  • Options are same as IPv4 Checksum Offload

Large Send Offload (IPv4)

OS offloads large TCP/IPv4 segmentation to hardware. This could improve transfer speed and reduce CPU utilization.

Large Send Offload v2 (IPv4)

OS offloads large TCP/IPv4 segmentation to hardware. This is a newer specification than Large Send Offload (IPv4).

Large Send Offload v2 (IPv6)

OS offloads large TCP/IPv6 segmentation to hardware.

Flow Control

Flow control could stop TX side sending to prevent lost packets.

Priority & VLAN

  • Priority & VLAN Enabled : Both Priority and VLAN are enabled
  • Priority Enabled : _Only support priority and keep VLAN ID = 0 _
  • VLAN Enabled : Only support VLAN and keep priority = 0
  • Priority & VLAN Disabled : Both Priority and VLAN are disabled

InterruptModeration

The interrupts are automatically trigger in a period. This reduces CPU utilization and improve throughput.

Receive Buffers

  • Receive buffer MAX (512)

Transmit Buffers

  • Transmit buffer MAX (128)

Jumbo Frame

  • 2KB MTU : MTU is 2*1024 bytes
  • 3KB MTU : MTU is 3*1024 bytes
  • 4KB MTU : MTU is 4*1024 bytes
  • 5KB MTU : MTU is 5*1024 bytes
  • 6KB MTU : MTU is 6*1024 bytes
  • 7KB MTU : MTU is 7*1024 bytes

Q. What is Jumbo Frame What is the purpose of this feature

A. This feature is for performance. It increases the maximum length of one packet.

It is out of ethernet specific and has ethernet switch/hub compatibility. If the ethernet switch could not support the jumbo frame, the packet will be discarded. Users may directly link the 2 machines to avoid the maximum length limitation but this also limit the connectivity.

Driver will disable Large Send Offload (IPv4) after user enables this feature, TCP/IP could has better performance if it use jumbo frame without large send. If users enable both of them, the driver automatically chooses Jumbo Packet.

For switch compatibility and TCP/IP performance, it is better to use Large Send Offload (IPv4) rather than Jumbo frame

PS:

Although, the Advanced page has Disable, 2KB MTU, 3KB MTU, ... 7KB MTU. Driver will not enable the option which exceeds the NIC hardware limitation. If exceeds, driver automatically decreases the length to a proper value.

How to verify jumboframe works :

  1. Both sides enable the jumboframe to a identical value. If two sides has different jumboframe length limitation, use smaller value. For example, cardbus 8169 and PCI 8169 should use 3KB.
  2. Both side must disable firewall.
  3. To avoid switch/hub compatiblity issue , please connect the two NICs directly.
  4. Ping a large packet to the other machine. Ping xxx.xxx.xxx.xxx -l 65000
  5. If responses successfully, the jumboframe works.

Shutdown Wake-On-Lan

  • Enabled : system could wakeup from shutdown by magic packet
  • Disabled : PHY turn off to reduce power consumption but could not wakeup by magic packet

Q. What is Shutdown Wake-On-Lan ? Why have this feature ? Who requires to use this feature?

A. This feature is for power consumption. This affects shutdown mode (S5) power consumption.

Auto Disable Gigabit (PowerSaving)

  • Disabled : Always enable gigabit
  • Re-Link, Battery : auto disabled gigabit when re-link and using battery
  • Re-Link, Battery or AC : auto disabled gigabit when re-link

Q. What is Auto Disable Gigabit ? Why have this feature ? Who requires to use this feature?

A. This feature is for power consumption.

When users change the setting to Re-Link and user unplugs and plugs network cable again, the driver will automatically disable gigabit capability. Gigabit has much higher power consumption than 10/100 MBps. For notebook users, it is recommended to turn on this to reduce power consumption.

PS :

This option MUST change to Re-Link to enable Auto Disable Phy"

Auto Disable PCIe (PowerSaving)

  • Disabled : No disable PCI-e when disconnected
  • Re-Link, Battery : auto disable PCI-e when disconnected and using battery
  • Re-Link, Battery or AC : auto disable PCI-e when disconnected

Q. What is Auto Disable PCIe ? Why have this feature ? Who requires to use this feature?

A. This feature is for power consumption.

When users change the setting to Enabled in battery mode and the network cable is unplugged, the driver will automatically disable PCIe mechanism. This reduces the power consumption.

Auto Disable PHY (PowerSaving)

  • Disabled : No disable PHY when disconnected
  • Re-Link, Battery : auto disable PHY when disconnected and using battery
  • Re-Link, Battery or AC : auto disable PHY when disconnected

Q. What is Auto Disable PHY? Why have this feature? Who requires to use this feature? A. This feature is for power consumption.

When users change the setting to Enabled and the network cable is unplugged, the driver will automatically disable PHY. To use this feature, user MUST enable Auto Disable Gigabit first. Because gigabit link establishment takes longer time, driver needs user disable gigabit to reduce the linking time.

PS.

If both of them enabled, the linking time will be increased but power consumption reduced. The linking time about 5 seconds.

Receive Side Scaling

  • Disabled : RSS disabled
  • Enabled : RSS enabled

    1. This feature is for better CPU utilization balance while internet browsing and file copying.

    2. This is especially good for complex homepage content with a lot of pictures.

Because OS will create one TCP connection for each picture. Those TCP connections will dispatch to different CPUs. From driver layer to application layer, data transfer and picture decoding runs on different CPU.

  1. This feature could not increase total throughput. It designed for better CPU utilization.

The network performance benchmark tool may show that the total throughput decreased when RSS enabled.

  1. It is recommend end-user who care for better CPU utilization to enable this feature.

  2. When RSS enabled, driver allocates two distinct receive buffer. The receiving buffer size is two times than RSS disabled.