Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[ source navigation ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]
FreeBSD/Linux Kernel Cross Reference
|
Name | Size | Last modified (GMT) | Description | |
Parent directory | 2019-04-21 12:24:20 | |||
LICENSE | 1830 bytes | 2010-12-19 10:19:51 | ||
README | 8198 bytes | 2010-12-19 10:19:51 | ||
ixgbe.c | 140216 bytes | 2010-12-19 10:19:51 | ||
ixgbe.h | 12262 bytes | 2010-12-19 10:19:51 | ||
ixgbe_82598.c | 35508 bytes | 2010-12-19 10:19:51 | ||
ixgbe_82599.c | 84153 bytes | 2010-12-19 10:19:51 | ||
ixgbe_api.c | 30372 bytes | 2010-12-19 10:19:51 | ||
ixgbe_api.h | 9240 bytes | 2010-12-19 10:19:51 | ||
ixgbe_common.c | 61884 bytes | 2010-12-19 10:19:51 | ||
ixgbe_common.h | 4741 bytes | 2010-12-19 10:19:51 | ||
ixgbe_osdep.h | 5321 bytes | 2010-12-19 10:19:51 | ||
ixgbe_phy.c | 42124 bytes | 2010-12-19 10:19:51 | ||
ixgbe_phy.h | 5958 bytes | 2010-12-19 10:19:51 | ||
ixgbe_type.h | 112734 bytes | 2010-12-19 10:19:51 |
1 FreeBSD Driver for 10 Gigabit PCI Express Server Adapters 2 ============================================= 3 /*$FreeBSD: releng/8.0/sys/dev/ixgbe/README 190873 2009-04-10 00:22:48Z jfv $*/ 4 5 May 14, 2008 6 7 8 Contents 9 ======== 10 11 - Overview 12 - Supported Adapters 13 - Building and Installation 14 - Additional Configurations 15 - Known Limitations 16 17 18 Overview 19 ======== 20 21 This file describes the FreeBSD* driver for the 10 Gigabit PCIE Family of 22 Adapters. Drivers has been developed for use with FreeBSD 7 or later. 23 24 For questions related to hardware requirements, refer to the documentation 25 supplied with your Intel 10GbE adapter. All hardware requirements listed 26 apply to use with FreeBSD. 27 28 29 Supported Adapters 30 ================== 31 32 The following Intel network adapters are compatible with the drivers in this 33 release: 34 35 Controller Adapter Name Physical Layer 36 ---------- ------------ -------------- 37 82598EB Intel(R) 10 Gigabit XF SR/AF 10G Base -LR (850 nm optical fiber) 38 Dual Port Server Adapter 10G Base -SR (1310 nm optical fiber) 39 82598EB Intel(R) 10 Gigabit XF SR/LR 40 Server Adapter 41 Intel(R) 82598EB 10 Gigabit AF 42 Network Connection 43 Intel(R) 82598EB 10 Gigabit AT 44 CX4 Network Connection 45 46 47 Building and Installation 48 ========================= 49 50 NOTE: You must have kernel sources installed in order to compile the driver 51 module. 52 53 In the instructions below, x.x.x is the driver version as indicated in 54 the name of the driver tar. 55 56 1. Move the base driver tar file to the directory of your choice. For 57 example, use /home/username/ixgbe or /usr/local/src/ixgbe. 58 59 2. Untar/unzip the archive: 60 tar xfz ixgbe-x.x.x.tar.gz 61 62 3. To install man page: 63 cd ixgbe-x.x.x 64 gzip -c ixgbe.4 > /usr/share/man/man4/ixgbee.4.gz 65 66 4. To load the driver onto a running system: 67 cd ixgbe-x.x.x/src 68 make load 69 70 5. To assign an IP address to the interface, enter the following: 71 ifconfig ix<interface_num> <IP_address> 72 73 6. Verify that the interface works. Enter the following, where <IP_address> 74 is the IP address for another machine on the same subnet as the interface 75 that is being tested: 76 ping <IP_address> 77 78 7. If you want the driver to load automatically when the system is booted: 79 80 cd ixgbe-x.x.x/src 81 make 82 make install 83 84 Edit /boot/loader.conf, and add the following line: 85 ixgbe_load="YES" 86 87 OR 88 89 compile the driver into the kernel (see item 8). 90 91 92 Edit /etc/rc.conf, and create the appropriate ifconfig_ixgbe<interface_num> 93 entry: 94 95 ifconfig_ix<interface_num>="<ifconfig_settings>" 96 97 Example usage: 98 99 ifconfig_ix0="inet 192.168.10.1 netmask 255.255.255.0" 100 101 NOTE: For assistance, see the ifconfig man page. 102 103 8. If you want to compile the driver into the kernel, enter: 104 105 FreeBSD 7 or later: 106 107 cd ixgbe-x.x.x/src 108 109 cp *.[ch] /usr/src/sys/dev/ixgbe 110 111 cp Makefile.kernel /usr/src/sys/modules/ixgbe/Makefile 112 113 Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in 114 /usr/src/sys/i386/conf (replace "i386" with the appropriate system 115 architecture if necessary), and ensure the following line is present: 116 117 device ixgbe 118 119 Compile and install the kernel. The system must be reboot for the kernel 120 updates to take affect. For additional information on compiling the kernel, 121 consult the FreeBSD operating system documentation. 122 123 124 Configuration and Tuning 125 ========================= 126 127 The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on 128 all 10 Gigabit adapters. 129 130 Jumbo Frames 131 ------------ 132 To enable Jumbo Frames, use the ifconfig utility to increase the MTU 133 beyond 1500 bytes. 134 135 NOTES: 136 137 - The Jumbo Frames setting on the switch must be set to at least 138 22 bytes larger than that of the adapter. 139 140 - There are known performance issues with this driver when running 141 UDP traffic with Jumbo Frames. 142 143 The Jumbo Frames MTU range for Intel Adapters is 1500 to 16114. The default 144 MTU range is 1500. To modify the setting, enter the following: 145 146 ifconfig ix <interface_num> <hostname or IP address> mtu 9000 147 148 To confirm an interface's MTU value, use the ifconfig command. To confirm 149 the MTU used between two specific devices, use: 150 151 route get <destination_IP_address> 152 153 VLANs 154 ----- 155 To create a new VLAN pseudo-interface: 156 157 ifconfig <vlan_name> create 158 159 To associate the VLAN pseudo-interface with a physical interface and 160 assign a VLAN ID, IP address, and netmask: 161 162 ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan 163 <vlan_id> vlandev <physical_interface> 164 165 Example: 166 167 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan 10 vlandev ixgbe0 168 169 In this example, all packets will be marked on egress with 802.1Q VLAN 170 tags, specifying a VLAN ID of 10. 171 172 To remove a VLAN pseudo-interface: 173 174 ifconfig <vlan_name> destroy 175 176 177 Checksum Offload 178 ---------------- 179 180 Checksum offloading supports both TCP and UDP packets and is 181 supported for both transmit and receive. 182 183 Checksum offloading can be enabled or disabled using ifconfig. 184 Both transmit and receive offloading will be either enabled or 185 disabled together. You cannot enable/disable one without the other. 186 187 To enable checksum offloading: 188 189 ifconfig <interface_num> rxcsum 190 191 To disable checksum offloading: 192 193 ifconfig <interface_num> -rxcsum 194 195 To confirm the current setting: 196 197 ifconfig <interface_num> 198 199 200 TSO 201 --- 202 203 To disable: 204 205 ifconfig <interface_num> -tso 206 207 To re-enable: 208 209 ifconfig <interface_num> tso 210 211 LRO 212 ___ 213 214 Large Receive Offload is available in version 1.4.4, it is on 215 by default. It can be toggled off and on by using: 216 sysctl dev.ix.X.enable_lro=[0,1] 217 218 NOTE: when changing this feature you MUST be sure the interface 219 is reinitialized, it is easy to do this with ifconfig down/up. 220 The LRO code will ultimately move into the kernel stack code, 221 but for this first release it was included with the driver. 222 223 Important system configuration changes: 224 --------------------------------------- 225 226 When there is a choice run on a 64bit OS rather than 32, it makes 227 a significant difference in improvement. 228 229 The default scheduler SCHED_4BSD is not smart about SMP locality issues. 230 Significant improvement can be achieved by switching to the ULE scheduler. 231 232 This is done by changing the entry in the config file from SCHED_4BSD to 233 SCHED_ULE. Note that this is only advisable on FreeBSD 7, on 6.X there have 234 been stability problems with ULE. 235 236 Change the file /etc/sysctl.conf, add the line: 237 238 hw.intr_storm_threshold: 8000 (the default is 1000) 239 240 Best throughput results are seen with a large MTU; use 9000 if possible. 241 242 The default number of descriptors is 256, increasing this to 1024 or even 243 2048 may improve performance. 244 245 246 Known Limitations 247 ================= 248 Under small packets UDP stress test with 10GbE driver, the FreeBSD system 249 will drop UDP packets due to the fullness of socket buffers. You may want 250 to change the driver's Flow Control variables to the minimum value for 251 controlling packet reception. 252 253 254 Support 255 ======= 256 257 For general information and support, go to the Intel support website at: 258 259 http://support.intel.com 260 261 If an issue is identified with the released source code on the supported 262 kernel with a supported adapter, email the specific information related to 263 the issue to freebsd@intel.com. 264 265 266 267 License 268 ======= 269 270 This software program is released under the terms of a license agreement 271 between you ('Licensee') and Intel. Do not use or load this software or any 272 associated materials (collectively, the 'Software') until you have carefully 273 read the full terms and conditions of the LICENSE located in this software 274 package. By loading or using the Software, you agree to the terms of this 275 Agreement. If you do not agree with the terms of this Agreement, do not 276 install or use the Software. 277 278 * Other names and brands may be claimed as the property of others. 279 280
[ source navigation ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]
This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.