In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)06/01 Report--
This article introduces the knowledge of "how to compile and install ixgbe drivers in Linux". Many people will encounter this dilemma in the operation of actual cases, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!
Intel's 10g network cards (for example, 82598, 82599, x540) are supported by ixgbe drivers. Modern linux distributions already come with an ixgbe driver that can be used as a loadable module. However, there are situations where you want to compile and install ixgbe drivers on your machine, for example, when you want to experience the latest features of ixbge drivers. Similarly, one of the problems with the default ixgbe driver in the kernel is that it does not allow you to customize the parameters of the driver. If you want a fully customized ixgbe driver (such as rss, multiple queues, interrupt thresholds, etc.), you need to manually compile the ixgbe driver from the source code.
Step 1: installation premise
Before installation, you need to install matching kernel header files and development kits.
$sudo apt-get install linux-headers-$ (uname-r) $sudo apt-get install gcc make
Step 2: compile the ixgbe driver
Download the source code from the latest ixgbe driver.
$wget http://sourceforge.net/projects/e1000/files/ixgbe%20stable/3.23.2/ixgbe-3.23.2.tar.gz
Compile the ixgbe driver as follows.
$tar xvfvz ixgbe-3.23.2.tar.gz $cd ixgbe-3.23.2/src $make
Step 3: check the ixgbe driver
After compiling, you will see that the ixgbe.ko is created in the ixgbe-3.23.2/src directory. This is the ixgbe driver that will be loaded into the kernel.
Check the information of the kernel module with the modinfo command. Note that you need to specify the absolute path to the module file (such as. / ixgbe.ko or / home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko). The version of the ixgbe kernel is displayed in the output.
$modinfo. / ixgbe.kofilename: / 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: 0default 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, 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 (0Magne1) (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 samplerate (array of int) parm: fcoe:disable or enable fcoe offload Default 1 (array of int) parm: lro:large receive offload (0Power1), 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)
Step 4: test the ixgbe driver
Before testing a new module, you need to remove it if you already have an old version of the ixgbe module in your kernel.
$sudo rmmod ixgbe
Then use the insmod command to insert the newly compiled ixgbe module. Be sure to specify the absolute path of a module.
$sudo insmod. / ixgbe.ko
If the above command runs successfully, no information is displayed.
If you want, you can try to add additional parameters. For example, set the number of queues for rss to 16:
$sudo insmod. / ixgbe.ko rss=16
Check / var/log/kern.log to see if the ixgbe driver was activated successfully. View "intel (r) 10 gigabit pci express network driver" in the log. The version information of ixgbe should be the same as the previous modinfo display.
Sep 18 14:48:52 spongebob kernel: [684717.906254] intel (r) 10 gigabit pci express network driver-version 3.22.3
Step 5: install the ixgbe driver
Once you have verified that the new ixgbe driver can be loaded successfully, the final step is to install the driver on your system.
$sudo make install
Ixgbe.ko will be installed under / lib/modules//kernel/drivers/net/ethernet/intel/ixgbe.
From this step, you can load the ixgbe driver with the following modprobe command. Note that you no longer have to specify an absolute path.
$sudo modprobe ixgbe
If you want to load the ixgbe driver at startup, you can add "ixgbe" at the end of / etc/modules.
That's all for "how to compile and install ixgbe drivers in Linux". Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.