Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
HATM(4)                FreeBSD Kernel Interfaces Manual                HATM(4)

NAME
     hatm - Device driver for Fore/Marconi HE155 and HE622 ATM interfaces

SYNOPSIS
     device hatm
     device utopia
     device atm
     options NATM

DESCRIPTION
     The hatm device driver supports the FORE (now Marconi) HE155 and HE622
     ATM interface cards.  The driver interfaces with the natm(4) framework,
     netgraph(4) and the HARP ATM stack.  It provides only PVC services.
     Signalling, ATMARP, ILMI and other higher layer protocols are implemented
     using netgraph(4) or HARP.

     For configuring the card for IP see natmip(4).

     The following sysctls are recognized by the driver additionally to those
     handled by utopia(4):

     hw.atm.hatm.natm_traffic
          This is the traffic type to be used for NATM pvc connections. The
          type of this variable is integer and it must have one of the values
          0 (UBR) or 1 (CBR).

     hw.atm.hatm.natm_pcr
          This is the peak cell rate to be used for NATM CBR connections.

     hw.atm.hatmN.stats
          Contains an array of uint32_t with device specific statistics.

     hw.atm.hatmN.istats
          Contains an array of uint32_t with internal driver statistics.

     hw.atm.hatmN.debug
          (only if debugging enabled) These are the debugging flags. See
          if_hatmvar.h() for the possible flags.

     hw.atm.hatmN.tsr
          (only if debugging enabled) This is an array containing all
          transmission status registers. For each of the 4096 possible VCCs
          there are 15 32-bit registers.

     hw.atm.hatmN.tpd
          (only if debugging enabled) This is an array containing all on card
          current transmission packet descriptors.  For each of the 4096
          possible VCCs there are 16 32-bit registers.

     hw.atm.hatmN.mbox
          (only if debugging enabled) This is an array containing the mbox
          registers.

     hw.atm.hatmN.cm
          (only if debugging enabled) This is an array containing all
          connection memory registers.  The first 32-bit integer of this array
          is the ABR base address.

     hw.atm.hatmN.heregs
          (only if debugging enabled) This is an array containing all card
          registers including SUNI and the FLASH ROM.

     hw.atm.hatmN.lbmem
          (only if debugging enabled) Returns the contents of the local
          memory.

     The driver supports the media options sdh, noscramb and unassigned (see
     utopia(4) ).

DIAGNOSTICS
     hatm0: <FORE HE> mem 0xd2600000-0xd26fffff irq 9 at device 15.0 on pci2
     hatm0: ForeRunnerHE 622, Rev. D, S/N 2949834, MAC=00:20:48:2d:02:ca

ENVIRONMENT
     When attaching to a device the driver checks the kernel environment (see
     kenv(4)) to see if the default queues sizes should be overwritten or not.
     The following variables are checked and interpreted as unsigned integer
     values (in either radix):

     hw.hatmN.rbps0_size
          Size of the small receive buffer pool 0. This pool is used for all
          except raw AAL connections. The pool size must be a power of two
          between 4 and 8192 inclusive. When attaching the driver allocates
          this number of mbufs.

     hw.hatmN.rbps0_thresh
          Interrupt threshold for small receive buffer pool 0. When the number
          of free buffers in the pool falls below this threshold it generates
          an interrupt so that the driver can refill the pool.

     hw.hatmN.rbpl0_thresh
          Size of the large receive buffer pool 0. This pool is used for all
          except raw AAL connections. The pool size must be a power of two
          between 4 and 8192 inclusive. When attaching the driver allocates
          this number of mbufs with clusters.

     hw.hatmN.rbpl0_thresh
          Interrupt threshold for large receive buffer pool 0. When the number
          of free buffers in the pool falls below this threshold it generates
          an interrupt so that the driver can refill the pool.

     hw.hatmN.rbrq0_size
          Size of receive buffer return queue 0. This queue is used to return
          buffers filled with received frames to the driver. The size must be
          a power of 2 between 1 and 16384 inclusive.

     hw.hatmN.rbrq0_thresh
          Interrupt threshold for receive buffer return queue 0. This
          threshold should only be triggered in exceptional cases.

     hw.hatmN.rbrq0_tout
          Interrupt timeout for receive buffer return queue 0. An interrupt is
          generated after this time if the queue is not empty. The number is
          in internal card ticks.

     hw.hatmN.rbrq0_pcnt
          Packet count threshold for receive buffer return queue 0. An
          interrupt is generated if this number of packets is in the queue.

     hw.hatmN.rbps1_size
          Size of the small receive buffer pool 1. This pool is used for all
          raw AAL connections. The pool size must be a power of two between 4
          and 8192 inclusive. When attaching the driver allocates this number
          of mbufs.

     hw.hatmN.rbps1_thresh
          Interrupt threshold for small receive buffer pool 1. When the number
          of free buffers in the pool falls below this threshold it generates
          an interrupt so that the driver can refill the pool.

     hw.hatmN.rbrq1_size
          Size of receive buffer return queue 1. This queue is used to return
          buffers filled with received cells to the driver. The size must be a
          power of 2 between 1 and 16384 inclusive.

     hw.hatmN.rbrq1_thresh
          Interrupt threshold for receive buffer return queue 1. This
          threshold should only be triggered in exceptional cases.

     hw.hatmN.rbrq1_tout
          Interrupt timeout for receive buffer return queue 1. An interrupt is
          generated after this time if the queue is not empty. The number is
          in internal card ticks.

     hw.hatmN.rbrq1_pcnt
          Packet count threshold for receive buffer return queue 0. An
          interrupt is generated if this number of cells is in the queue.

     hw.hatmN.irq0_size
          Size of interrupt queue 0. This must be a number between 1 and 1023
          inclusive.

     hw.hatmN.irq0_thresh
          Interrupt retrigger threshold of interrupt queue 0. A new interrupt
          is trigger if the queue fill state reaches this threshold and the
          interrupt was no served.

     hw.hatmN.tbrq0_size
          Transmit buffer return queue 0 size. This queue is used to feed back
          empty buffers of transmitted frames back to the driver. It must be a
          power of 2 between 1 and 4096 inclusive.

     hw.hatmN.tbrq0_thresh
          Transmit buffer return queue 0 threshold. An interrupt is generated
          if the queue fill state reaches this point.

     hw.hatmN.tpdrq_size
          Transmit descriptor ready queue size. This queue is used by the
          driver to feed transmit descriptors into the card. The size must be
          a power of 2 between 1 and 16384 inclusive.

     hw.hatmN.tpdmax
          Maximum number of active TPDs per connection. This controls the
          maximum number of outstanding packet chunks per connection and thus
          the maximum delay packets can have because of queueing on the
          adapter. If set to 0, a connection can eat up all available TPDs.

     hw.hatmN.mbuf_max_pages
          Maximum number of memory pages allocated to small external mbufs.
          This must not be zero and not larger than 65536.

CAVEATS
     When putting a HE155 into a 64-bit 66MHz PCI slot the machine may hang.
     This occures very early in the POST so that even the display does not
     turn on.  The HE155 runs only in 33MHz slots (either 32 or 64-bit).
     HE622 cards work just fine in 64-bit slots.

     The driver may not work with bounce buffer, because of bus_dma_sync()
     missing the offset and len arguments the NetBSD function has.

SEE ALSO
     natm(4), natmip(4), utopia(4), ifconfig(8), route(8)

AUTHORS
     Harti Brandt <harti@freebsd.org>.

FreeBSD                          May 15, 2003                          FreeBSD

NAME | SYNOPSIS | DESCRIPTION | DIAGNOSTICS | ENVIRONMENT | CAVEATS | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=hatm&sektion=4&manpath=FreeBSD+5.2-RELEASE>

home | help