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 | 2023-01-29 20:39:12 | |||
LICENSE | 1548 bytes | 2023-01-29 20:39:11 | ||
README | 11452 bytes | 2023-01-29 20:39:11 | ||
e1000_80003es2lan.c | 39605 bytes | 2023-01-29 20:39:11 | ||
e1000_80003es2lan.h | 4498 bytes | 2023-01-29 20:39:11 | ||
e1000_82540.c | 19688 bytes | 2023-01-29 20:39:11 | ||
e1000_82541.c | 39373 bytes | 2023-01-29 20:39:11 | ||
e1000_82541.h | 4036 bytes | 2023-01-29 20:39:11 | ||
e1000_82542.c | 15641 bytes | 2023-01-29 20:39:11 | ||
e1000_82543.c | 48469 bytes | 2023-01-29 20:39:11 | ||
e1000_82543.h | 2217 bytes | 2023-01-29 20:39:11 | ||
e1000_82571.c | 41166 bytes | 2023-01-29 20:39:11 | ||
e1000_82571.h | 2141 bytes | 2023-01-29 20:39:11 | ||
e1000_82575.c | 43204 bytes | 2023-01-29 20:39:11 | ||
e1000_82575.h | 13031 bytes | 2023-01-29 20:39:11 | ||
e1000_api.c | 33684 bytes | 2023-01-29 20:39:11 | ||
e1000_api.h | 7786 bytes | 2023-01-29 20:39:11 | ||
e1000_defines.h | 71390 bytes | 2023-01-29 20:39:11 | ||
e1000_hw.h | 19101 bytes | 2023-01-29 20:39:11 | ||
e1000_ich8lan.c | 73895 bytes | 2023-01-29 20:39:11 | ||
e1000_ich8lan.h | 4695 bytes | 2023-01-29 20:39:11 | ||
e1000_mac.c | 61065 bytes | 2023-01-29 20:39:11 | ||
e1000_mac.h | 4838 bytes | 2023-01-29 20:39:11 | ||
e1000_manage.c | 10951 bytes | 2023-01-29 20:39:11 | ||
e1000_manage.h | 3814 bytes | 2023-01-29 20:39:11 | ||
e1000_nvm.c | 23149 bytes | 2023-01-29 20:39:11 | ||
e1000_nvm.h | 3140 bytes | 2023-01-29 20:39:11 | ||
e1000_osdep.h | 7355 bytes | 2023-01-29 20:39:11 | ||
e1000_phy.c | 57712 bytes | 2023-01-29 20:39:11 | ||
e1000_phy.h | 8043 bytes | 2023-01-29 20:39:11 | ||
e1000_regs.h | 19792 bytes | 2023-01-29 20:39:11 | ||
if_em.c | 156559 bytes | 2023-01-29 20:39:11 | ||
if_em.h | 15134 bytes | 2023-01-29 20:39:11 |
1 $FreeBSD$ 2 FreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters 3 ============================================================ 4 5 May 2, 2006 6 7 8 Contents 9 ======== 10 11 - Overview 12 - Identifying Your Adapter 13 - Building and Installation 14 - Speed and Duplex Configuration 15 - Additional Configurations 16 - Known Limitations 17 - Support 18 - License 19 20 21 Overview 22 ======== 23 24 This file describes the FreeBSD* driver for the Intel(R) PRO/1000 Family of 25 Adapters. This driver has been developed for use with FreeBSD, Release 6.x. 26 27 For questions related to hardware requirements, refer to the documentation 28 supplied with your Intel PRO/1000 adapter. All hardware requirements listed 29 apply to use with FreeBSD. 30 31 32 Identifying Your Adapter 33 ======================== 34 35 For information on how to identify your adapter, go to the Adapter & 36 Driver ID Guide at: 37 38 http://support.intel.com/support/network/sb/cs-012904.htm 39 40 41 For the latest Intel network drivers for FreeBSD, see: 42 43 http://downloadfinder.intel.com/scripts-df-external/support_intel.aspx 44 45 46 NOTE: Mobile adapters are not fully supported. 47 NOTE: The Intel(R) 82562v 10/100 Network Connection only provides 10/100 48 support. 49 50 Building and Installation 51 ========================= 52 53 NOTE: The driver can be installed as a dynamic loadable kernel module or 54 compiled into the kernel. You must have kernel sources installed in 55 order to compile the driver module. 56 57 In the instructions below, x.x.x is the driver version as indicated in the 58 name of the driver tar file. 59 60 1. Move the base driver tar file to the directory of your choice. For 61 example, use /home/username/em or /usr/local/src/em. 62 63 2. Untar/unzip the archive: 64 65 tar xvfz em-x.x.x.tar.gz 66 67 This will create an em-x.x.x directory. 68 69 3. To create a loadable module, perform the following steps. 70 NOTE: To compile the driver into the kernel, go directly to step 4. 71 72 a. To compile the module 73 74 cd em-x.x.x 75 make 76 77 b. To install the compiled module in system directory: 78 79 make install 80 81 c. If you want the driver to load automatically when the system is booted: 82 83 1. Edit /boot/loader.conf, and add the following line: 84 85 if_em_load="YES" 86 87 4. To compile the driver into the kernel: 88 89 cd em-x.x.x/src 90 91 cp if_em* /usr/src/sys/dev/em 92 93 cp Makefile.kernel /usr/src/sys/modules/em/Makefile 94 95 Edit the /usr/src/sys/conf/files file, and add the following lines only if 96 they don't already exist: 97 98 dev/em/if_em.c optional em 99 100 dev/em/if_em_hw.c optional em 101 102 Remove the following lines from the /usr/src/sys/conf/files file, 103 if they exist: 104 105 dev/em/if_em_fxhw.c optional em 106 dev/em/if_em_phy.c optional em 107 108 Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in 109 /usr/src/sys/i386/conf, and ensure the following line is present: 110 111 device em 112 113 Compile and install the kernel. The system must be rebooted for the kernel 114 updates to take effect. For additional information on compiling the 115 kernel, consult the FreeBSD operating system documentation. 116 117 5. To assign an IP address to the interface, enter the following: 118 119 ifconfig em<interface_num> <IP_address> 120 121 6. Verify that the interface works. Enter the following, where <IP_address> 122 is the IP address for another machine on the same subnet as the interface 123 that is being tested: 124 125 ping <IP_address> 126 127 7. To configure the IP address to remain after reboot, edit /etc/rc.conf, 128 and create the appropriate ifconfig_em<interface_num>entry: 129 130 ifconfig_em<interface_num>="<ifconfig_settings>" 131 132 Example usage: 133 134 ifconfig_em0="inet 192.168.10.1 netmask 255.255.255.0" 135 136 NOTE: For assistance, see the ifconfig man page. 137 138 139 Speed and Duplex Configuration 140 ============================== 141 142 By default, the adapter auto-negotiates the speed and duplex of the 143 connection. If there is a specific need, the ifconfig utility can be used to 144 configure the speed and duplex settings on the adapter. Example usage: 145 146 ifconfig em<interface_num> <IP_address> media 100baseTX mediaopt 147 full-duplex 148 149 NOTE: Only use mediaopt to set the driver to full-duplex. If mediaopt is 150 not specified and you are not running at gigabit speed, the driver 151 defaults to half-duplex. 152 153 154 This driver supports the following media type options: 155 156 autoselect - Enables auto-negotiation for speed and duplex. 157 158 10baseT/UTP - Sets speed to 10 Mbps. Use the ifconfig mediaopt 159 option to select full-duplex mode. 160 161 100baseTX - Sets speed to 100 Mbps. Use the ifconfig mediaopt 162 option to select full-duplex mode. 163 164 1000baseTX - Sets speed to 1000 Mbps. In this case, the driver 165 supports only full-duplex mode. 166 167 1000baseSX - Sets speed to 1000 Mbps. In this case, the driver 168 supports only full-duplex mode. 169 170 For more information on the ifconfig utility, see the ifconfig man page. 171 172 173 Additional Configurations 174 ========================= 175 176 The driver supports Transmit/Receive Checksum Offload and Jumbo Frames on 177 all but the 82542-based adapters. For specific adapters, refer to the 178 Identifying Your Adapter section. 179 180 Jumbo Frames 181 ------------ 182 To enable Jumbo Frames, use the ifconfig utility to set the Maximum 183 Transport Unit (MTU) frame size above its default of 1500 bytes. 184 185 The Jumbo Frames MTU range for Intel Adapters is 1500 to 16110. To modify 186 the setting, enter the following: 187 188 ifconfig em<interface_num> <hostname or IP address> mtu 9000 189 190 To confirm the MTU used between two specific devices, use: 191 192 route get <destination_IP_address> 193 194 Notes: 195 196 - Only enable Jumbo Frames if your network infrastructure supports them. 197 198 - To enable Jumbo Frames, increase the MTU size on the interface beyond 199 1500. 200 201 - The Jumbo Frames setting on the switch must be set to at least 22 bytes 202 larger than that of the MTU. 203 204 - The maximum MTU setting for Jumbo Frames is 16110. This value coincides 205 with the maximum Jumbo Frames size of 16128. 206 207 - Some Intel gigabit adapters that support Jumbo Frames have a frame size 208 limit of 9238 bytes, with a corresponding MTU size limit of 9216 bytes. 209 The adapters with this limitation are based on the Intel(R) 82571EB, 210 82572EI, 82573L and 80003ES2LAN controller. These correspond to the 211 following product names: 212 Intel(R) PRO/1000 PT Server Adapter 213 Intel(R) PRO/1000 PT Desktop Adapter 214 Intel(R) PRO/1000 PT Network Connection 215 Intel(R) PRO/1000 PT Dual Port Server Adapter 216 Intel(R) PRO/1000 PT Dual Port Network Connection 217 Intel(R) PRO/1000 PF Server Adapter 218 Intel(R) PRO/1000 PF Network Connection 219 Intel(R) PRO/1000 PF Dual Port Server Adapter 220 Intel(R) PRO/1000 PB Server Connection 221 Intel(R) PRO/1000 PL Network Connection 222 Intel(R) PRO/1000 EB Network Connection with I/O Acceleration 223 Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration 224 225 - Adapters based on the Intel(R) 82542 and 82573V/E controller do not 226 support Jumbo Frames. These correspond to the following product names: 227 Intel(R) PRO/1000 Gigabit Server Adapter 228 Intel(R) PRO/1000 PM Network Connection 229 230 - Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or 231 loss of link. 232 233 - The following adapters do not support Jumbo Frames: 234 Intel(R) 82562V 10/100 Network Connection 235 Intel(R) 82566DM Gigabit Network Connection 236 Intel(R) 82566DC Gigabit Network Connection 237 Intel(R) 82566MM Gigabit Network Connection 238 Intel(R) 82566MC Gigabit Network Connection 239 240 241 VLANs 242 ----- 243 To create a new VLAN interface: 244 245 ifconfig <vlan_name> create 246 247 To associate the VLAN interface with a physical interface and 248 assign a VLAN ID, IP address, and netmask: 249 250 ifconfig <vlan_name> <ip_address> netmask <subnet_mask> vlan 251 <vlan_id> vlandev <physical_interface> 252 253 Example: 254 255 ifconfig vlan10 10.0.0.1 netmask 255.255.255.0 vlan10 vlandev em0 256 257 In this example, all packets will be marked on egress with 802.1Q VLAN 258 tags, specifying a VLAN ID of 10. 259 260 To remove a VLAN interface: 261 262 ifconfig <vlan_name> destroy 263 264 265 Polling 266 ------- 267 To enable polling in the driver, add the following options to the kernel 268 configuration, and then recompile the kernel: 269 270 options DEVICE_POLLING 271 options HZ=1000 272 273 At runtime use: 274 ifconfig em0 polling to turn polling on 275 Use: 276 ifconfig em0 -polling to turn polling off 277 278 279 Checksum Offload 280 ---------------- 281 Checksum offloading is not supported on 82542 Gigabit adapters. 282 283 Checksum offloading supports both TCP and UDP packets and is 284 supported for both transmit and receive. 285 286 Checksum offloading can be enabled or disabled using ifconfig. 287 Both transmit and receive offloading will be either enabled or 288 disabled together. You cannot enable/disable one without the other. 289 290 To enable checksum offloading: 291 292 ifconfig <interface_num> rxcsum 293 294 To disable checksum offloading: 295 296 ifconfig <interface_num> -rxcsum 297 298 To confirm the current setting: 299 300 ifconfig <interface_num> 301 302 Look for the presence or absence of the following line: 303 304 options=3 <RXCSUM,TXCSUM> 305 306 See the ifconfig man page for further information. 307 308 309 Known Limitations 310 ================= 311 312 In FreeBSD version 4.x with Symmetric MultiProcessing (SMP), there is a known 313 issue on some newer hardware. The problem is generic kernel and only in SMP 314 mode. The workaround is to either use FreeBSD version 4.x in single processor 315 mode, or use FreeBSD 5.4 or later. 316 317 There are known performance issues with this driver when running UDP traffic 318 with Jumbo Frames. 319 320 There is a known compatibility issue where time to link is slow or link is not 321 established between 82541/82547 controllers and some switches. Known switches 322 include: 323 Planex FXG-08TE 324 I-O Data ETG-SH8 325 326 The driver can be compiled with the following changes: 327 328 Edit ./em.x.x.x/src/if_em.h to uncomment the #define EM_MASTER_SLAVE 329 from within the comments. For example, change from: 330 331 /* #define EM_MASTER_SLAVE 2 */ 332 to: 333 #define EM_MASTER_SLAVE 2 334 335 Use one of the following options: 336 1 = Master mode 337 2 = Slave mode 338 3 = Auto master/slave 339 Setting 2 is recommended. 340 341 Recompile the module: 342 a. To compile the module 343 cd em-x.x.x 344 make clean 345 make 346 347 b. To install the compiled module in system directory: 348 make install 349 350 351 Support 352 ======= 353 354 For general information and support, go to the Intel support website at: 355 356 http://support.intel.com 357 358 If an issue is identified, support is through email only at: 359 freebsdnic@mailbox.intel.com 360 361 362 License 363 ======= 364 365 This software program is released under the terms of a license agreement 366 between you ('Licensee') and Intel. Do not use or load this software or any 367 associated materials (collectively, the 'Software') until you have carefully 368 read the full terms and conditions of the LICENSE located in this software 369 package. By loading or using the Software, you agree to the terms of this 370 Agreement. If you do not agree with the terms of this Agreement, do not 371 install or use the Software. 372 373 * Other names and brands may be claimed as the property of others.
[ 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.