Print this page
11641 spelling mistakes in section 7d of the manual
   1 .\"
   2 .\" This file and its contents are supplied under the terms of the
   3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
   4 .\" You may only use this file in accordance with the terms of version
   5 .\" 1.0 of the CDDL.
   6 .\"
   7 .\" A full copy of the text of the CDDL should have accompanied this
   8 .\" source.  A copy of the CDDL is also available via the Internet at
   9 .\" http://www.illumos.org/license/CDDL.
  10 .\"
  11 .\"
  12 .\" Copyright (c) 2018 Joyent, Inc.
  13 .\"
  14 .Dd May 23, 2018
  15 .Dt I40E 7D
  16 .Os
  17 .Sh NAME
  18 .Nm i40e
  19 .Nd Intel 710/722 Ethernet Device Driver
  20 .Sh SYNOPSIS
  21 .Pa /dev/net/i40e*
  22 .Sh DESCRIPTION
  23 The
  24 .Nm
  25 driver is a GLDv3, multi-threaded, clonable, loadable device driver that
  26 supports the Data Link Provider Interface,
  27 .Xr dlpi 7P .
  28 The
  29 .Nm
  30 driver supports the Intel 710 and 722 Ethernet Controller families of
  31 networking interface cards which come in 1 GbE, 10 GbE, 25 GbE, and 40
  32 GbE variants.
  33 .Pp
  34 In addition to basic device initialization and the sending and receiving


  47 .El
  48 .Pp
  49 At this time, the
  50 .Nm
  51 driver does not enable the use of energy efficient Ethernet (EEE) or
  52 support the use of flow control through hardware pause frames.
  53 .Sh APPLICATION PROGRAMMING INTERFACE
  54 For each device supported by the
  55 .Nm
  56 installed in the system, a character-special file will be created.
  57 This file supports the Data Link Provider Interface (DLPI) which is documented
  58 in
  59 .Xr dlpi 7P .
  60 For most consumers, the use of
  61 .Xr libdlpi 3LIB ,
  62 is recommended.
  63 .Pp
  64 Each instance is assigned a unique ascending integer identifier.
  65 A device which has multiple ports may appear to the system as separate
  66 instances.
  67 The system does not provide a guarnatee on how these will be presented.
  68 Using this instance identifier, one can determine the exact character-special
  69 file to open.
  70 For example, the first instance enumerated in the system, with id 0, would be
  71 named
  72 .Sy i40e0 .
  73 It exists in the file system at
  74 .Pa /dev/net/i40e0 .
  75 .Sh CONFIGURATION
  76 The
  77 .Nm i40e
  78 driver always performs auto-negotiation and depending on the model may
  79 negotiate to 40 Gbps, 25 Gbps, 10 Gbps, or 1 Gbps.
  80 At this time, the driver requires the use of auto-negotiation.
  81 .Pp
  82 The
  83 .Nm
  84 driver is managed by the
  85 .Xr dladm 1M
  86 utility.
  87 .Xr dladm 1M


 133 .Ed
 134 .Bd -filled
 135 The
 136 .Sy default_mtu
 137 property determines the starting MTU of the various device instances.
 138 Note that the device's MTU also determines the upper bound of the MTU of
 139 all VNICs created over the device.
 140 The default MTU is
 141 .Sy 1500 .
 142 .Ed
 143 .It Sy mr_enable
 144 .Bd -filled -compact
 145 Minimum:
 146 .Sy 0 |
 147 Maximum:
 148 .Sy 1
 149 .Ed
 150 .Bd -filled
 151 The
 152 .Sy mr_enable
 153 proeprty determines whether or not support for multiple rings is enabled
 154 for the device.
 155 The default is always to enable them.
 156 It is not recommended to to disable them.
 157 .Ed
 158 .It Sy rx_ring_size
 159 .Bd -filled -compact
 160 Minimum:
 161 .Sy 64 |
 162 Maximum:
 163 .Sy 4096
 164 .Ed
 165 .Bd -filled
 166 The
 167 .Sy rx_ring_size
 168 property determines the number of descriptors that will be used in each
 169 receive ring on the card.
 170 Administrators should not normally need to tune this value.
 171 Hardware requires that the ring size be a multiple of 32.
 172 The system will round up the set value to the nearest multiple of 32.
 173 .Ed


 215 .Ed
 216 .Bd -filled
 217 The
 218 .Sy rx_limit_per_intr
 219 property determines the maximum number of packets that will be processed
 220 on a given ring during a single interrupt.
 221 This is done to try and guarantee some amount of liveness in the system.
 222 It is not expected that administrators will have to tune this value.
 223 .Ed
 224 .It Sy tx_hcksum_enable
 225 .Bd -filled -compact
 226 Minimum:
 227 .Sy 0 |
 228 Maximum:
 229 .Sy 1
 230 .Ed
 231 .Bd -filled
 232 The
 233 .Sy tx_hcksum_enable
 234 property controls whether or not the device enables support for hardware
 235 checksuming of outgoing packets.
 236 The default is to always enable support for this.
 237 Turning it off will increase latency and decrease throughput when transmitting
 238 packets, but should be done if a hardware bug is suspected.
 239 .Ed
 240 .It Sy rx_hcksum_enable
 241 .Bd -filled -compact
 242 Minimum:
 243 .Sy 0 |
 244 Maximum:
 245 .Sy 1
 246 .Ed
 247 .Bd -filled
 248 The
 249 .Sy rx_hcksum_enable
 250 property controls whether or not the device enables support for hardware
 251 checksuming of incoming packets.
 252 The default is to always enable support for this.
 253 Turning it off will increase latency and decrease throughput when receiving
 254 packets, but should be done if a hardware bug is suspected.
 255 .Ed
 256 .It Sy rx_dma_threshold
 257 .Bd -filled -compact
 258 Minimum:
 259 .Sy 0 |
 260 Maximum:
 261 .Sy INT32_MAX |
 262 Runtime Property:
 263 .Sy _rx_dma_treshold
 264 .Ed
 265 .Bd -filled
 266 The
 267 .Sy rx_dma_treshold
 268 indicates the size in bytes of a received frame, including all of its
 269 headers, at which the driver should not copy the frame but instead bind
 270 DMA memory.
 271 By setting this property to its minimum, all frames will be processed with DMA
 272 binding.
 273 By setting this property to its maximum, all frames will be processed by copying
 274 the frame.
 275 .Ed
 276 .It Sy tx_lso_enable
 277 .Bd -filled -compact
 278 Minimum:
 279 .Sy 0 |
 280 Maximum:
 281 .Sy 1
 282 .Ed
 283 .Bd -filled
 284 The
 285 .Sy tx_lso_enable
 286 property controls whether or not the device enables support for Large Segment
 287 Offloand (LSO) when transmitting packets.
 288 The default is to always enable support for this.
 289 Turning it off will decrease throughput when transmitting packets, but should
 290 be done if a hardware bug is suspected.
 291 .Ed
 292 .El
 293 .Sh ARCHITECTURE
 294 The
 295 .Nm
 296 driver is only supported on
 297 .Sy x86
 298 systems at this time.
 299 .Sh FILES
 300 .Bl -tag -width Pa
 301 .It Pa /dev/net/i40e*
 302 Per-instance character device.
 303 .It Pa /kernel/drv/i40e
 304 32-bit device driver (x86).
 305 .It Pa /kernel/drv/amd64/i40e
 306 64-bit device driver (x86).
 307 .It Pa /kernel/drv/i40e.conf
 308 Driver configuration file.
 309 .El
 310 .Sh SEE ALSO
 311 .Xr dladm 1M ,
 312 .Xr snoop 1M ,
 313 .Xr driver.conf 4 ,
 314 .Xr dlpi 7P
   1 .\"
   2 .\" This file and its contents are supplied under the terms of the
   3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
   4 .\" You may only use this file in accordance with the terms of version
   5 .\" 1.0 of the CDDL.
   6 .\"
   7 .\" A full copy of the text of the CDDL should have accompanied this
   8 .\" source.  A copy of the CDDL is also available via the Internet at
   9 .\" http://www.illumos.org/license/CDDL.
  10 .\"
  11 .\"
  12 .\" Copyright (c) 2018 Joyent, Inc.
  13 .\"
  14 .Dd Jan 10, 2020
  15 .Dt I40E 7D
  16 .Os
  17 .Sh NAME
  18 .Nm i40e
  19 .Nd Intel 710/722 Ethernet Device Driver
  20 .Sh SYNOPSIS
  21 .Pa /dev/net/i40e*
  22 .Sh DESCRIPTION
  23 The
  24 .Nm
  25 driver is a GLDv3, multi-threaded, clonable, loadable device driver that
  26 supports the Data Link Provider Interface,
  27 .Xr dlpi 7P .
  28 The
  29 .Nm
  30 driver supports the Intel 710 and 722 Ethernet Controller families of
  31 networking interface cards which come in 1 GbE, 10 GbE, 25 GbE, and 40
  32 GbE variants.
  33 .Pp
  34 In addition to basic device initialization and the sending and receiving


  47 .El
  48 .Pp
  49 At this time, the
  50 .Nm
  51 driver does not enable the use of energy efficient Ethernet (EEE) or
  52 support the use of flow control through hardware pause frames.
  53 .Sh APPLICATION PROGRAMMING INTERFACE
  54 For each device supported by the
  55 .Nm
  56 installed in the system, a character-special file will be created.
  57 This file supports the Data Link Provider Interface (DLPI) which is documented
  58 in
  59 .Xr dlpi 7P .
  60 For most consumers, the use of
  61 .Xr libdlpi 3LIB ,
  62 is recommended.
  63 .Pp
  64 Each instance is assigned a unique ascending integer identifier.
  65 A device which has multiple ports may appear to the system as separate
  66 instances.
  67 The system does not provide a guarantee on how these will be presented.
  68 Using this instance identifier, one can determine the exact character-special
  69 file to open.
  70 For example, the first instance enumerated in the system, with id 0, would be
  71 named
  72 .Sy i40e0 .
  73 It exists in the file system at
  74 .Pa /dev/net/i40e0 .
  75 .Sh CONFIGURATION
  76 The
  77 .Nm i40e
  78 driver always performs auto-negotiation and depending on the model may
  79 negotiate to 40 Gbps, 25 Gbps, 10 Gbps, or 1 Gbps.
  80 At this time, the driver requires the use of auto-negotiation.
  81 .Pp
  82 The
  83 .Nm
  84 driver is managed by the
  85 .Xr dladm 1M
  86 utility.
  87 .Xr dladm 1M


 133 .Ed
 134 .Bd -filled
 135 The
 136 .Sy default_mtu
 137 property determines the starting MTU of the various device instances.
 138 Note that the device's MTU also determines the upper bound of the MTU of
 139 all VNICs created over the device.
 140 The default MTU is
 141 .Sy 1500 .
 142 .Ed
 143 .It Sy mr_enable
 144 .Bd -filled -compact
 145 Minimum:
 146 .Sy 0 |
 147 Maximum:
 148 .Sy 1
 149 .Ed
 150 .Bd -filled
 151 The
 152 .Sy mr_enable
 153 property determines whether or not support for multiple rings is enabled
 154 for the device.
 155 The default is always to enable them.
 156 It is not recommended to to disable them.
 157 .Ed
 158 .It Sy rx_ring_size
 159 .Bd -filled -compact
 160 Minimum:
 161 .Sy 64 |
 162 Maximum:
 163 .Sy 4096
 164 .Ed
 165 .Bd -filled
 166 The
 167 .Sy rx_ring_size
 168 property determines the number of descriptors that will be used in each
 169 receive ring on the card.
 170 Administrators should not normally need to tune this value.
 171 Hardware requires that the ring size be a multiple of 32.
 172 The system will round up the set value to the nearest multiple of 32.
 173 .Ed


 215 .Ed
 216 .Bd -filled
 217 The
 218 .Sy rx_limit_per_intr
 219 property determines the maximum number of packets that will be processed
 220 on a given ring during a single interrupt.
 221 This is done to try and guarantee some amount of liveness in the system.
 222 It is not expected that administrators will have to tune this value.
 223 .Ed
 224 .It Sy tx_hcksum_enable
 225 .Bd -filled -compact
 226 Minimum:
 227 .Sy 0 |
 228 Maximum:
 229 .Sy 1
 230 .Ed
 231 .Bd -filled
 232 The
 233 .Sy tx_hcksum_enable
 234 property controls whether or not the device enables support for hardware
 235 checksumming of outgoing packets.
 236 The default is to always enable support for this.
 237 Turning it off will increase latency and decrease throughput when transmitting
 238 packets, but should be done if a hardware bug is suspected.
 239 .Ed
 240 .It Sy rx_hcksum_enable
 241 .Bd -filled -compact
 242 Minimum:
 243 .Sy 0 |
 244 Maximum:
 245 .Sy 1
 246 .Ed
 247 .Bd -filled
 248 The
 249 .Sy rx_hcksum_enable
 250 property controls whether or not the device enables support for hardware
 251 checksumming of incoming packets.
 252 The default is to always enable support for this.
 253 Turning it off will increase latency and decrease throughput when receiving
 254 packets, but should be done if a hardware bug is suspected.
 255 .Ed
 256 .It Sy rx_dma_threshold
 257 .Bd -filled -compact
 258 Minimum:
 259 .Sy 0 |
 260 Maximum:
 261 .Sy INT32_MAX |
 262 Runtime Property:
 263 .Sy _rx_dma_threshold
 264 .Ed
 265 .Bd -filled
 266 The
 267 .Sy rx_dma_threshold
 268 indicates the size in bytes of a received frame, including all of its
 269 headers, at which the driver should not copy the frame but instead bind
 270 DMA memory.
 271 By setting this property to its minimum, all frames will be processed with DMA
 272 binding.
 273 By setting this property to its maximum, all frames will be processed by copying
 274 the frame.
 275 .Ed
 276 .It Sy tx_lso_enable
 277 .Bd -filled -compact
 278 Minimum:
 279 .Sy 0 |
 280 Maximum:
 281 .Sy 1
 282 .Ed
 283 .Bd -filled
 284 The
 285 .Sy tx_lso_enable
 286 property controls whether or not the device enables support for Large Segment
 287 Offloand (LSO) when transmitting packets.
 288 The default is to always enable support for this.
 289 Turning it off will decrease throughput when transmitting packets, but should
 290 be done if a hardware bug is suspected.
 291 .Ed
 292 .El
 293 .Sh ARCHITECTURE
 294 The
 295 .Nm
 296 driver is only supported on
 297 .Sy x86
 298 systems at this time.
 299 .Sh FILES
 300 .Bl -tag -width Pa
 301 .It Pa /dev/net/i40e*
 302 Per-instance character device.


 303 .It Pa /kernel/drv/amd64/i40e
 304 Device driver (x86)
 305 .It Pa /kernel/drv/i40e.conf
 306 Driver configuration file
 307 .El
 308 .Sh SEE ALSO
 309 .Xr dladm 1M ,
 310 .Xr snoop 1M ,
 311 .Xr driver.conf 4 ,
 312 .Xr dlpi 7P