Utiliser le processeur de la carte réseau
Le
Rahan
Bonjour,
Pour décharger le processeur de la carte mère d'un certain nombre de
fonction comme calcul du checksum et fonction ipsec. Il est possible de
paramétrer Windows pour lui dire s'il doit utiliser le processeur de la
carte réseau ou pas. Ceci dans le cas où la carte réseau est équipée d'un
processeur. C'est souvent le cas sur les cartes réseau de nouvelle
génération.
Le but de cette manipe est de libérer un peu le processeur de la carte mère
mais aussi de débuguer des problèmes réseaux liés au poste Windows.
Pour paramétrer Windows pour utiliser le processeur de la carte réseau ou
pas, il faut changer la valeur suivante dans la base de registre qui n'est
pas présente sur mes postes par défaut et qu'il faut la créer :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Valeur : DisableTaskOffload
Cette valeur peut être 0 (utiliser le proc de la carte réseau) ou 1 (ne pas
utiliser le proc de la carte réseau).
Ma question est : quelle est la valeur de ce paramètre par défaut sous
Windows XP ?!!!
Le problème est que dans la majorité des forums le net, tous le monde (ou
presque) est d'accord pour dire que ce paramètre est par défaut à 1 et donc,
Windows ne fera pas appel à la carte réseau pour certain calcul car souvent
Wnidows ne sait pas si la carte réseau présente est équipée d'un processeur
ou pas.
Malheureusement, sur le site de Microsoft qui concerne Windows 2000, c'est
tout le contraire qu'on y indique :
http://www.microsoft.com/resources/.../94176.asp
Et je n'ai trouvé aucune info de ce paramètre pour Windows XP sur le site de
Microsoft.
Auriez-vous une idée précise sur la valeur par défaut de ce paramètre sous
XP ?
Merci de votre aide
Cordialement
Rahan
Pour décharger le processeur de la carte mère d'un certain nombre de
fonction comme calcul du checksum et fonction ipsec. Il est possible de
paramétrer Windows pour lui dire s'il doit utiliser le processeur de la
carte réseau ou pas. Ceci dans le cas où la carte réseau est équipée d'un
processeur. C'est souvent le cas sur les cartes réseau de nouvelle
génération.
Le but de cette manipe est de libérer un peu le processeur de la carte mère
mais aussi de débuguer des problèmes réseaux liés au poste Windows.
Pour paramétrer Windows pour utiliser le processeur de la carte réseau ou
pas, il faut changer la valeur suivante dans la base de registre qui n'est
pas présente sur mes postes par défaut et qu'il faut la créer :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Valeur : DisableTaskOffload
Cette valeur peut être 0 (utiliser le proc de la carte réseau) ou 1 (ne pas
utiliser le proc de la carte réseau).
Ma question est : quelle est la valeur de ce paramètre par défaut sous
Windows XP ?!!!
Le problème est que dans la majorité des forums le net, tous le monde (ou
presque) est d'accord pour dire que ce paramètre est par défaut à 1 et donc,
Windows ne fera pas appel à la carte réseau pour certain calcul car souvent
Wnidows ne sait pas si la carte réseau présente est équipée d'un processeur
ou pas.
Malheureusement, sur le site de Microsoft qui concerne Windows 2000, c'est
tout le contraire qu'on y indique :
http://www.microsoft.com/resources/.../94176.asp
Et je n'ai trouvé aucune info de ce paramètre pour Windows XP sur le site de
Microsoft.
Auriez-vous une idée précise sur la valeur par défaut de ce paramètre sous
XP ?
Merci de votre aide
Cordialement
Rahan



Rahan
???
A partir de quoi est faite cette déduction ?
Moi je dirais strictement le *contraire !*
(=> 0 par défaut -> Offload actif)
0 !
J'ai parcouru tout le DVD MSDN, et je n'ai trouvé qu'une référence à cette
entrée, à savoir dans le DDK :
http://msdn.microsoft.com/library/d...d8.xml.asp
Il n'est pas précisé la valeur par défaut.
Mais en me plongeant dans le ResKit de W2K3, je lis :
http://technet2.microsoft.com/Windo...x?mfr=true
DisableTaskOffload
Key: TcpipParameters
Value Type: REG_DWORDBoolean
ValidRange: 0, 1 (false, true)
Default: 0 (false)
Description: This parameter instructs the TCP/IP stack to
disable offloading of tasks to the network interface card
for troubleshooting and test purposes.
On lit bien que la valeur par défaut est 0
Donc, si cette valeur par défaut est :
0 sous W2K
x sous XP
0 sous W2K3
j'en déduis, par interpolation, que x = 0 (sous XP)
D'autant que la valeur 1 (qui désactive le offloading) est à utiliser "for
troubleshooting and test purposes".
La valeur par défaut ne PEUT PAS être celle réervée aux tests et debugging !
Mais de toute façon, qu'est-ce qui t'empêche de définir cette valeur selon
tes désirs, en créant l'entrée dans la BDR ?
(dans un batch, un VBS, ...)
Où est le problème ?
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Merci de votre réponse. Sacré Jean-Claude !!
Ok, on va partir sur le principe que par défaut, XP laisse les calculs à la
carte réseau, soit, la valeur est 0.
Le poste sur lequel je dois tester est un poste en production, il faut
rebooter pour que le paramètre soit prise en charge ... etc. J'ai préféré
donc récolter plus d'info avant de m'aventurer et comme vous savez, on ne
peut pas toujours rebooter une machine comme bon nous semble. En plus, j'ai
effectué un changement de paramètre sur la carte réseau, j'ai donc besoin de
laisser tourner un peu pour voir si j'ai toujours le problème ou c'est
résolu.
Je peux effectuer des tests sur une autre machine, mais disons que je me
suis orienter vers ce paramètre car j'ai un certain nombre de Pb sur un
poste en prod et seulement sur ce poste et donc l'analyse doit se faire sur
ce poste. Mon problème de base est que j'ai des erreurs de calcul de
checksum sur ma carte réseau (checksum incorrect) visible avec un sniffer !
J'ai désactivé les fonctions de calcul de checksum en réception et en
transmission sur la carte réseau (3Com + Broadcom). Ainsi, c'est à présent
la pile TCP/IP qui se charge du calcul du checksum. Et à présent, je n'ai
pas d'erreur mais j'ai besoin plus de temps pour être sure que ce problème
est résolus avant de passer à l'étape DisableTaskOffload.
En attendant, j'essaye d'avoir plus d'info que la valeur DisableTaskOffload
qui en verra tous les calculs au processeur de la carte mère et pas
seulement les calculs du checksum.
Avant de faire le changement, j'ai besoin d'avoir le moyen (via une commande
par exemple) de savoir qui effectue les calculs (processeur de la carte mère
ou celui de ma carte réseau ?). Et après changement, comment être sure de
voir qui effectue les calcules ?
Merci infiniment de votre aide précieuse
Cordialement
Rahan