Les cartes réseau Intel 10g (par exemple, 82598, 82599, x540) sont prises en charge par le pilote ixgbe. Les distributions Linux modernes sont déjà livrées avec le pilote ixgbe, qui est utilisé via des modules chargeables. Cependant, il existe des situations dans lesquelles vous souhaitez compiler et installer vous-même le pilote ixgbe sur votre ordinateur, par exemple lorsque vous souhaitez découvrir les dernières fonctionnalités du pilote ixbge. De même, un problème avec le pilote ixgbe fourni par défaut avec le noyau est qu'il ne vous permet pas de personnaliser les paramètres du pilote. Si vous souhaitez un pilote ixgbe entièrement personnalisé (tel que rss, files d'attente multiples, seuils d'interruption, etc.), vous devez compiler manuellement le pilote ixgbe à partir des sources.
Première étape : conditions préalables à l'installation
Avant l'installation, vous devez installer les fichiers d'en-tête du noyau et les kits d'outils de développement correspondants.
$ sudo apt-get install linux-headers-$(uname -r) $ sudo apt-get install gcc make
Étape 2 : Compiler le pilote ixgbe
Téléchargez le code source du dernier pilote ixgbe.
$ wget http://sourceforge.net/projects/e1000/files/ixgbe%20stable/3.23.2/ixgbe-3.23.2.tar.gz
Compilez le pilote ixgbe comme suit.
$ tar xvfvz ixgbe-3.23.2.tar.gz $ cd ixgbe-3.23.2/src $ make
Étape 3 : Vérifiez le pilote ixgbe
Après la compilation, vous verrez ixgbe.ko créé dans le répertoire ixgbe-3.23.2/src. Il s'agit du pilote ixgbe qui sera chargé dans le noyau.
Utilisez la commande modinfo pour vérifier les informations du module du noyau. Notez que vous devez spécifier le chemin absolu du fichier du module (tel que ./ixgbe.ko ou /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko). La sortie affichera la version du noyau ixgbe.
$ modinfo ./ixgbe.ko
filename: /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko version: 3.23.2 license: gpl description: intel(r) 10 gigabit pci express network driver author: intel corporation, srcversion: 2ada5e537923e983fa9dae2 alias: pci:v00008086d00001560sv*sd*bc*sc*i* alias: pci:v00008086d00001558sv*sd*bc*sc*i* alias: pci:v00008086d0000154asv*sd*bc*sc*i* alias: pci:v00008086d00001557sv*sd*bc*sc*i* alias: pci:v00008086d0000154fsv*sd*bc*sc*i* alias: pci:v00008086d0000154dsv*sd*bc*sc*i* alias: pci:v00008086d00001528sv*sd*bc*sc*i* alias: pci:v00008086d000010f8sv*sd*bc*sc*i* alias: pci:v00008086d0000151csv*sd*bc*sc*i* alias: pci:v00008086d00001529sv*sd*bc*sc*i* alias: pci:v00008086d0000152asv*sd*bc*sc*i* alias: pci:v00008086d000010f9sv*sd*bc*sc*i* alias: pci:v00008086d00001514sv*sd*bc*sc*i* alias: pci:v00008086d00001507sv*sd*bc*sc*i* alias: pci:v00008086d000010fbsv*sd*bc*sc*i* alias: pci:v00008086d00001517sv*sd*bc*sc*i* alias: pci:v00008086d000010fcsv*sd*bc*sc*i* alias: pci:v00008086d000010f7sv*sd*bc*sc*i* alias: pci:v00008086d00001508sv*sd*bc*sc*i* alias: pci:v00008086d000010dbsv*sd*bc*sc*i* alias: pci:v00008086d000010f4sv*sd*bc*sc*i* alias: pci:v00008086d000010e1sv*sd*bc*sc*i* alias: pci:v00008086d000010f1sv*sd*bc*sc*i* alias: pci:v00008086d000010ecsv*sd*bc*sc*i* alias: pci:v00008086d000010ddsv*sd*bc*sc*i* alias: pci:v00008086d0000150bsv*sd*bc*sc*i* alias: pci:v00008086d000010c8sv*sd*bc*sc*i* alias: pci:v00008086d000010c7sv*sd*bc*sc*i* alias: pci:v00008086d000010c6sv*sd*bc*sc*i* alias: pci:v00008086d000010b6sv*sd*bc*sc*i* depends: ptp,dca vermagic: 3.11.0-19-generic smp mod_unload modversions parm: interrupttype:change interrupt mode (0=legacy, 1=msi, 2=msi-x), default intmode (deprecated) (array of int) parm: intmode:change interrupt mode (0=legacy, 1=msi, 2=msi-x), default 2 (array of int) parm: mq:disable or enable multiple queues, default 1 (array of int) parm: dca:disable or enable direct cache access, 0=disabled, 1=descriptor only, 2=descriptor and data (array of int) parm: rss:number of receive-side scaling descriptor queues, default 0=number of cpus (array of int) parm: vmdq:number of virtual machine device queues: 0/1 = disable, 2-16 enable (default=8) (array of int) parm: max_vfs:number of virtual functions: 0 = disable (default), 1-63 = enable this many vfs (array of int) parm: vepa:vepa bridge mode: 0 = veb (default), 1 = vepa (array of int) parm: interruptthrottlerate:maximum interrupts per second, per vector, (0,1,956-488281), default 1 (array of int) parm: lliport:low latency interrupt tcp port (0-65535) (array of int) parm: llipush:low latency interrupt on tcp push flag (0,1) (array of int) parm: llisize:low latency interrupt on packet size (0-1500) (array of int) parm: llietype:low latency interrupt ethernet protocol type (array of int) parm: llivlanp:low latency interrupt on vlan priority threshold (array of int) parm: fdirpballoc:flow director packet buffer allocation level: 1 = 8k hash filters or 2k perfect filters 2 = 16k hash filters or 4k perfect filters 3 = 32k hash filters or 8k perfect filters (array of int) parm: atrsamplerate:software atr tx packet sample rate (array of int) parm: fcoe:disable or enable fcoe offload, default 1 (array of int) parm: lro:large receive offload (0,1), default 1 = on (array of int) parm: allow_unsupported_sfp:allow unsupported and untested sfp+ modules on 82599 based adapters, default 0 = disable (array of int)
Étape 4 : Testez le pilote ixgbe
Avant de tester le nouveau module, si l'ancienne version du module ixgbe existe déjà dans votre noyau, vous devez d'abord la supprimer.
$ sudo rmmod ixgbe
Utilisez ensuite la commande insmod pour insérer le module ixgbe nouvellement compilé. Assurez-vous de spécifier un chemin absolu vers le module.
$ sudo insmod ./ixgbe.ko
Si la commande ci-dessus s'exécute avec succès, aucune information ne sera affichée.
Vous pouvez essayer d'ajouter des paramètres supplémentaires si vous en avez besoin. Par exemple, définissez le nombre de files d'attente RSS sur 16 :
$ sudo insmod ./ixgbe.ko rss=16
Vérifiez /var/log/kern.log pour voir si le pilote ixgbe est activé avec succès. Vérifiez le journal pour "pilote réseau Intel(r) 10 Gigabit PCI Express". Les informations de version d'ixgbe doivent être les mêmes que celles de l'affichage modinfo précédent.
18 septembre 14:48:52 noyau Bob l'éponge : [684717.906254] pilote réseau intel(r) 10 gigabit pci express - version 3.22.3
Étape 5 : Installez le pilote ixgbe
Une fois que vous avez vérifié le nouveau pilote ixgbe peut être chargé avec succès, la dernière étape consiste à installer le pilote sur votre système.
$ sudo make install
ixgbe.ko sera installé sous /lib/modules//kernel/drivers/net/ethernet/intel/ixgbe.
À partir de cette étape, vous pouvez utiliser la commande modprobe suivante pour charger le pilote ixgbe. Notez que vous n'avez plus besoin de spécifier le chemin absolu.
$ sudo modprobe ixgbe
Si vous souhaitez charger le pilote ixgbe au démarrage, vous pouvez ajouter "ixgbe" à la fin de /etc/modules.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!