UTOPIA(4) | MidnightBSD Kernel Interfaces Manual | UTOPIA(4) |
utopia
— driver
module for ATM PHY chips
To compile this driver into the kernel, place the following line in your kernel configuration file:
device utopia
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
utopia_load="YES"
This module is used by all ATM drivers for cards that use PMC-Sierra S/Uni and IDT77105/IDT77155 chips to provide uniform functionality. The module implements status monitoring in either interrupt or polling mode, media option handling and application access to chip registers.
The driver implements several sysctls that are accessible under the hw.atm.⟨iface⟩. tree, where iface is the name of the ATM interface:
UTP_LOOP_NONE
(0x00)UTP_LOOP_TIME
(0x01)UTP_LOOP_DIAG
(0x02)UTP_LOOP_LINE
(0x04)UTP_LOOP_PARAL
(0x08)UTP_LOOP_TWIST
(0x10)UTP_LOOP_PATH
(0x20)UTP_TYPE_UNKNOWN
(0)UTP_TYPE_SUNI_LITE
(1)UTP_TYPE_SUNI_ULTRA
(2)UTP_TYPE_SUNI_622
(3)UTP_TYPE_IDT77105
(4)UTP_TYPE_IDT77155
(5)struct utopia_stats1 { uint32_t version; /* version of this struct */ uint32_t fill; uint64_t rx_sbip; /* rx section BIP errors */ uint64_t rx_lbip; /* rx line BIP errors */ uint64_t rx_lfebe; /* rx line far end block errors */ uint64_t rx_pbip; /* rx path BIP errors */ uint64_t rx_pfebe; /* rx path far end block errors */ uint64_t rx_cells; /* received cells */ uint64_t rx_corr; /* correctable cell errors */ uint64_t rx_uncorr; /* uncorrectable cell errors */ uint64_t rx_symerr; /* symbol errors */ uint64_t tx_cells; /* transmitted cells */ };
The current version is 1. The statistics are updated from the chip once a second. On overflow the counters wrap to zero. Note that not all counters are meaningful for all PHY chips. The statistics are cleared by writing an arbitrary new value (the value is ignored).
The utopia
module also interfaces with the
ifmedia system. The module reports the current state of the carrier and will
issue a warning message when the carrier state changes. While the physical
media itself cannot be changed, several media options can:
SDH
noscramb
unassigned
Harti Brandt <harti@FreeBSD.org>
November 22, 2006 | midnightbsd-3.1 |