Home |
Recompiling RTIP-32 Driver Source Files Using Jumbo Ethernet Frames |
Using Jumbo Ethernet FramesThe Ethernet standard limits the size of an Ethernet packet/frame to 1514 bytes (14 bytes Ethernet header plus 1500 bytes data). With Gigabit networks, this leads to a very high frame rate. At maximum throughput, a new packet is transferred every 1.5 microseconds (or even 0.8 microseconds for full duplex operation) which can overload some systems. To solve this problem, larger Ethernet packets called Jumbo Frames have been proposed and are supported by many Gigabit Ethernet controllers. The Intel Gigabit controller drivers I8254X_DEVICE, I82575_DEVICE, I82599_DEVICE, and I225_DEVICE support Jumbo Frames up to 9014 bytes, and the RealTek Gigabit controller driver R8168_DEVICE supports Jumbo Frames up to 7436 bytes. Here are the steps required to use Jumbo Frames with RTIP-32:
Example:CFG_MAX_PACKETSIZE = 9014; CFG_PACKET_SIZE3 = 9024; // 9014 + 4 rounded up to next multiple of 64 New default MTU, MSS, and TCP Window sizes are calculated from CFG_MAX_PACKETSIZE and CFG_PACKET_SIZE3 by the Intel or RealTek Gigabit Ethernet Controller driver when xn_bind_i8254x(), xn_bind_i82575(), xn_bind_i855(), xn_bind_i82599(), or xn_bind_r8168() is called. The default TCP Window size is set to 8 times the MSS. If the resulting value is larger than 0xFFFF, MSSes are subracted until the value is below 0x10000. Please note that you can then still change the MTU and TCP Window size at run-time using xn_interface_opt. If the application configured for Jumbo Frames attempts to communicate with a remote host which does not support Jumbo Frames, UDP packets with more than 1514 bytes will be lost. For TCP connections, the MSS of both sides is negociated when the connection is established, so no Jumbo Frames would get used in this case. To what degree network throughput depends on the maximum Ethernet frame size is very target and network dependent. Usually, the TCP window size will have the highest impact on TCP throughput. However, Jumbo Frames can reduce CPU load significantly due to its reduced protocol overhead. Recompiling RTIP-32 Driver Source Files Encrypted (SSL/TLS) Network Communication
|