vte — Vortex86 RDC
    R6040 Fast Ethernet driver
To compile this driver into the kernel, place the following lines
    in your kernel configuration file:
device miibus
device vte
Alternatively, to load the driver as a module at boot time, place
    the following line in
    loader.conf(5):
The vte device driver provides support for
    RDC R6040 Fast Ethernet controller which is commonly found on Vortex86
    System On a Chip (SoC).
The RDC R6040 has integrated 10/100 PHY for 10/100Mbps support in
    full or half-duplex. The controller supports interrupt moderation mechanism,
    a 64-bit multicast hash filter, VLAN over-size frame and four station
    addresses. The vte device driver uses three station
    addresses out of four as perfect multicast filter.
The vte driver supports the following
    media types:
  autoselect 
  - Enable autoselection of the media type and options. The user can manually
      override the autoselected mode by adding media options to
      rc.conf(5).
 
  10baseT/UTP 
  - Set 10Mbps operation.
 
  100baseTX 
  - Set 100Mbps (Fast Ethernet) operation.
 
The vte driver supports the following
    media options:
  full-duplex 
  - Force full duplex operation.
 
  half-duplex 
  - Force half duplex operation.
 
For more information on configuring this device, see
    ifconfig(8).
The vte device driver provides support for
    the following Ethernet controllers:
  - DM&P Vortex86 RDC R6040 Fast Ethernet controller
 
Tunables can be set at the
    loader(8)
    prompt before booting the kernel or stored in
    loader.conf(5).
  - hw.vte.tx_deep_copy
 
  - The RDC R6040 controller has no auto-padding support for short frames and
      the controller's DMA engine does not have capability to handle multiple
      buffers for a TX frame such that driver has to create a single contiguous
      TX buffer. This hardware limitation leads to poor TX performance since
      most of CPU cycles are wasted on both de-fragmenting mbuf chains and
      padding. This tunable enables deep copy operation for TX frames such that
      driver will spend less CPU cycles in de-fragmentation with the cost of
      extra TX buffer memory. The default value is 1 to use deep copy.
 
The following variables are available as both
    sysctl(8)
    variables and
    loader(8)
    tunables:
  - dev.vte.%d.rx_mod
 
  - Maximum number of packets to fire RX completion interrupt. The accepted
      range is 0 to 15, the default is 15.
 
  - dev.vte.%d.tx_mod
 
  - Maximum number of packets to fire TX completion interrupt. The accepted
      range is 0 to 15, the default is 15.
 
  - dev.vte.%d.stats
 
  - Show hardware MAC statistics maintained in driver.
 
The vte driver was written by
    Pyun YongHyeon
    <yongari@FreeBSD.org>.
    It first appeared in FreeBSD 8.3.