Outils pour utilisateurs

Outils du site


tuto:reseau:toe

Ceci est une ancienne révision du document !


TOE - TCP offload engine

Source : http://lafibre.info/tutoriels/tcp-offload-engine/

Sous linux, il faut installer le paquet “ethtool” (sudo apt-get install ethtool) Et taper en ligne de commande : $ sudo ethtool -k eth0

-k donne les paramètres Offload pour la carte réseau (eth0 pour la première carte réseau Ethernet). -K change les paramètres Offload demandés pour la carte réseau.

Lexique : - TCP Offload Engine = Moteur de déchargement TCP - rx-checksumming (rx on|off) = Déchargement de la somme de contrôle en réception - tx-checksumming (tx on|off) = Déchargement de la somme de contrôle en émission - scatter-gather (sg on|off) = comme DMA : Les données circulant de ou vers la carte réseau sont transférées directement vers la mémoire principale de la machine, sans intervention du microprocesseur (si ce n'est pour lancer et conclure le transfert). - tcp-segmentation-offload (tso on|off) = Déchargement de la segmentation d'un gros paquet TCP en plusieurs petits (en émission) - udp-fragmentation-offload (ufo on|off) = Déchargement de la fragmentation d'un gros paquet UDP en plusieurs petits (en émission) - generic-segmentation-offload (gso on|off) = Déchargement de la segmentation d'un gros paquet TCP en plusieurs petits (en émission) - generic-receive-offload (gro on|off) = Déchargement en fusionnant des petits paquets TCP reçus du réseau en un gros paquet pour le système (c'est donc en réception) - large-receive-offload (lro on|off) = Déchargement important à la réception - rx-vlan-offload (rxvlan on|off) = Déchargement de la gestion des Vlan en réception - tx-vlan-offload (txvlan on|off) = Déchargement de la gestion des Vlan en émission - ntuple-filters (ntuple on|off) = ?? - receive-hashing (rxhash on|off) = receive hashing offload

Combinaisons on / off : - Il est nécessaire d'activer tx-checksumming (tx on) pour activer scatter-gather - Il est nécessaire d'activer tx-checksumming (tx on) et scatter-gather (sg on) pour activer tcp-segmentation-offload ou generic-segmentation-offload

Désactiver ce qui fait chuter le débit avec “TCP ACK Supression” activé sur une box : ethtool -K eth1 tso off gso off tcp-segmentation-offload et generic-segmentation-offload chacun séparément ou activé tous les deux font chuter fortement le débit avec TCP ACK Supression. Au contraire scatter-gather permet de gagner du débit avec “TCP ACK Supression” activé. - TOE entièrement activé (défaut) : 3 min 13 secondes pour télécharger le fichier test - TOE entièrement dés-activé : 56 secondes pour télécharger le fichier test - Tout désactivé sauf tx-checksumming et scatter-gather : 33 secondes pour télécharger le fichier test - Seul tcp-segmentation-offload et generic-segmentation-offload désactivé : 33 secondes pour télécharger le fichier test

A noter qu'avec “TCP ACK Supression” désactivé ou qui n'existe pas (cas des majorités des box) on a : - TOE entièrement activé (défaut) : 21 secondes pour télécharger le fichier test - TOE entièrement dés-activé : 49 secondes pour télécharger le fichier test - Tout désactivé sauf tx-checksumming et scatter-gather : 32 secondes pour télécharger le fichier test - Seul tcp-segmentation-offload et generic-segmentation-offload désactivé : 32 secondes pour télécharger le fichier test

Désactiver entièrement TCP offload engine : # ethtool -K eth0 rx off tx off sg off tso off ufo off gso off gro off lro off rxvlan off txvlan off ntuple off rxhash off Si vous avez le message “Cannot set device udp large send offload settings: Operation not supported”, utilisez la commande suivante : # ethtool -K eth0 rx off tx off sg off tso off gso off gro off lro off rxvlan off txvlan off ntuple off rxhash off

Activer entièrement TCP offload engine : # ethtool -K eth0 rx on tx on sg on tso on ufo on gso on gro on lro on rxvlan on txvlan on ntuple on rxhash on En cas d'erreur sur l'UDP : # ethtool -K eth0 rx on tx on sg on tso on gso on gro on lro on rxvlan on txvlan on ntuple on rxhash on En cas d'erreur sur UDP, large-receive-offload, ntuple-filters : # ethtool -K eth0 rx on tx on sg on tso on gso on gro on rxvlan on txvlan on rxhash on

Voici les résultats compilés en fonction des cartes réseaux des machines que j'ai sous la main :

Cartes 1 Gb/s : Carte 1 (intégrée sur serveur Intel de 2011) : Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20) Carte 2 (intégrée sur serveur Intel de 2006) : Broadcom Corporation NetXtreme BCM5714 Gigabit Ethernet (rev a3) Carte 2' (intégrée sur serveur AMD de 2006) : Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 11) Carte 2“ (intégrée sur un pc fixe Intel de 2006) : Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01) Carte 2”' (intégrée sur un pc portable Intel de 2006) : Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express (rev 02) Carte 2“” : Atheros Communications Device 1083 (rev c0) ⇒ Atheros AR8151 PCI-E Gigabit Ethernet Controller Carte 3 (intégrée sur serveur AMD de 2006) : NVIDIA Corporation CK804 Ethernet Controller (rev a3) Carte 4 (intégrée sur serveur Intel de 2008) : Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12) Carte 5 (carte PCI de 2007) : D-Link System Inc DGE-528T Gigabit Ethernet Adapter (rev 10)

Cartes 100 Mb/s uniquement : Carte 6 (intégrée sur PC fixe Intel de 2008) : Intel Corporation 82562V-2 10/100 Network Connection (rev 02) Carte 7 (intégrée sur PC fixe Intel de 2008) : Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 01) Carte 7' (intégrée sur PC portable Intel de 2009) : Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02) Carte 8 (intégrée sur PC fixe AMD de 2005) : NVIDIA Corporation MCP51 Ethernet Controller (rev a1) Carte 8' (intégrée sur Serveur Online de 2009) : Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 91) Carte 8“ (intégrée sur serveur OVH de 2007) : VIA Technologies, Inc. VT6102 [Rhine-II] (rev 7c) Carte 8”' : Intel Corporation 82801BA/BAM/CA/CAM Ethernet Controller (rev 01) Carte 9 (intégrée sur serveur OVH de 2007) : VIA Technologies, Inc. VT6102 [Rhine-II] (rev 7c) Carte 10 (intégrée sur PC fixe AMD de 2006 Dell Dimension C521) : Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

Cartes virtuelles (pour les machines virtuelles) : Carte 11 Red Hat, Inc Virtio network device

on : opération déchargée sur la carte réseau off : opération réalisée en utilisant le processeur central (CPU) na : non supporté par le système d'exploitation

tuto/reseau/toe.1353186992.txt.gz · Dernière modification : 2012/11/17 21:16 de root