Normal, je ne saurais dire. Mais cela s’explique. On trouve dans le fichier drivers/net/r8169.c des sources du noyau 2.6.32, qui contient le code source du module r8169 gérant les contrôleurs ethernet gigabit de la famille du Realtek RTL8111/8168B, la définition suivante :
et plus bas le test suivant qui l’utilise :
if (new_mtu < ETH_ZLEN || new_mtu > SafeMtu)
return -EINVAL;
Le nombre hexadécimal 0x1c20 représente 7200 en décimal. Le commentaire suggère que des problèmes ont été constatés avec des valeurs supérieures, sans autre explication.
[Edit]Un début d’explication est fourni dans la description du patch appliqué à la version 2.6.11 du noyau responsable de cette limitation :
[code] [PATCH] r8169: reduce max MTU for large frames
From: Francois Romieu <romieu@fr.zoreil.com>
The device does not support the whole mtu range it claims. Experimenting
with the Tx threshold and/or the PCI burst size does not seem to improve
the behavior.[/code]
Si tu es joueur, tu peux essayer de modifier la valeur dans les sources et recompiler le module. Après tout, cela date du temps où ce module ne gérait pas encore les contrôleurs RTL8168 (à partir du noyau 2.6.19). Il se peut que cette limitation ne s’applique qu’au RTL8169.
[Edit 2]
A ce sujet, il y a eu du changement dans les versions plus récentes du noyau. Depuis la version 3.2 (incluse dans Wheezy, la prochaine Debian stable), la taille maximum des jumbo frames a été ajustée selon le type de contrôleur. Mauvaise nouvelle pour toi : celle du RTL8111B/8168B a été revue à la baisse, à (4*1024 - ETH_HLEN - 2) soit 4080 si mes calculs sont exacts.
Note : le pilote rtl8168 fourni par Realtek pourrait supporter des tailles plus élevées.