More ATM and NATM removal
Submitted by: ak Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D10511
This commit is contained in:
parent
4c97ff8bf5
commit
ae1be2973a
@ -38,12 +38,12 @@
|
|||||||
# xargs -n1 | sort | uniq -d;
|
# xargs -n1 | sort | uniq -d;
|
||||||
# done
|
# done
|
||||||
|
|
||||||
# 20170426: Remove cy(4)
|
# 20170427: NATM configuration support removed
|
||||||
OLD_FILES+=usr/share/man/man4/cy.4.gz
|
|
||||||
# 20170425: NATM configuration support removed
|
|
||||||
OLD_FILES+=etc/rc.d/atm1
|
OLD_FILES+=etc/rc.d/atm1
|
||||||
OLD_FILES+=etc/rc.d/atm2
|
OLD_FILES+=etc/rc.d/atm2
|
||||||
OLD_FILES+=etc/rc.d/atm3
|
OLD_FILES+=etc/rc.d/atm3
|
||||||
|
# 20170426: Remove cy(4)
|
||||||
|
OLD_FILES+=usr/share/man/man4/cy.4.gz
|
||||||
# 20170424: NATM support removed
|
# 20170424: NATM support removed
|
||||||
OLD_FILES+=rescue/atmconfig
|
OLD_FILES+=rescue/atmconfig
|
||||||
OLD_FILES+=sbin/atmconfig
|
OLD_FILES+=sbin/atmconfig
|
||||||
@ -78,6 +78,7 @@ OLD_FILES+=usr/share/man/man4/ng_atm.4.gz
|
|||||||
OLD_FILES+=usr/share/man/man4/patm.4.gz
|
OLD_FILES+=usr/share/man/man4/patm.4.gz
|
||||||
OLD_FILES+=usr/share/man/man4/utopia.4.gz
|
OLD_FILES+=usr/share/man/man4/utopia.4.gz
|
||||||
OLD_FILES+=usr/share/man/man8/atmconfig.8.gz
|
OLD_FILES+=usr/share/man/man8/atmconfig.8.gz
|
||||||
|
OLD_FILES+=usr/share/man/man9/utopia.9.gz
|
||||||
OLD_FILES+=usr/share/snmp/defs/atm_freebsd.def
|
OLD_FILES+=usr/share/snmp/defs/atm_freebsd.def
|
||||||
OLD_FILES+=usr/share/snmp/defs/atm_tree.def
|
OLD_FILES+=usr/share/snmp/defs/atm_tree.def
|
||||||
OLD_FILES+=usr/share/snmp/mibs/BEGEMOT-ATM-FREEBSD-MIB.txt
|
OLD_FILES+=usr/share/snmp/mibs/BEGEMOT-ATM-FREEBSD-MIB.txt
|
||||||
|
@ -905,27 +905,6 @@
|
|||||||
<para>[&arch.i386;] DEC DEFEA EISA (&man.fpa.4; driver)</para>
|
<para>[&arch.i386;] DEC DEFEA EISA (&man.fpa.4; driver)</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 xml:id="atm">
|
|
||||||
<title>ATM Interfaces</title>
|
|
||||||
|
|
||||||
<para>[&arch.i386;] Midway-based ATM interfaces
|
|
||||||
(&man.en.4; driver)</para>
|
|
||||||
|
|
||||||
<para>[&arch.i386;, &arch.sparc64;] FORE Systems,
|
|
||||||
Inc. PCA-200E ATM PCI Adapters (hfa and &man.fatm.4;
|
|
||||||
drivers)</para>
|
|
||||||
|
|
||||||
<para>[&arch.i386;] IDT NICStAR 77201/211-based ATM
|
|
||||||
Adapters (&man.idt.4; driver)</para>
|
|
||||||
|
|
||||||
<para>[&arch.i386;, &arch.sparc64;] FORE Systems,
|
|
||||||
Inc. HE155 and HE622 ATM interfaces (&man.hatm.4;
|
|
||||||
driver)</para>
|
|
||||||
|
|
||||||
<para>[&arch.i386;] IDT77252-based ATM cards
|
|
||||||
(&man.patm.4; driver)</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2 xml:id="wlan">
|
<sect2 xml:id="wlan">
|
||||||
<title>Wireless Network Interfaces</title>
|
<title>Wireless Network Interfaces</title>
|
||||||
|
|
||||||
|
@ -156,7 +156,6 @@ CRUNCH_PROGS_sbin+= bsdlabel fdisk
|
|||||||
CRUNCH_ALIAS_bsdlabel= disklabel
|
CRUNCH_ALIAS_bsdlabel= disklabel
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
CRUNCH_SRCDIR_ilmid= ${SRCTOP}/sbin/atm/ilmid
|
|
||||||
CRUNCH_SRCDIR_rtquery= ${SRCTOP}/sbin/routed/rtquery
|
CRUNCH_SRCDIR_rtquery= ${SRCTOP}/sbin/routed/rtquery
|
||||||
CRUNCH_SRCDIR_ipf= ${SRCTOP}/sbin/ipf/ipf
|
CRUNCH_SRCDIR_ipf= ${SRCTOP}/sbin/ipf/ipf
|
||||||
.if ${MK_ZFS} != "no"
|
.if ${MK_ZFS} != "no"
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
.\" @(#)hier.7 8.1 (Berkeley) 6/5/93
|
.\" @(#)hier.7 8.1 (Berkeley) 6/5/93
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd April 6, 2017
|
.Dd April 25, 2017
|
||||||
.Dt HIER 7
|
.Dt HIER 7
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -220,10 +220,6 @@ see
|
|||||||
.Xr ppbus 4
|
.Xr ppbus 4
|
||||||
.It Pa usb/
|
.It Pa usb/
|
||||||
USB subsystem
|
USB subsystem
|
||||||
.It Pa utopia/
|
|
||||||
physical chip driver for ATM interfaces;
|
|
||||||
see
|
|
||||||
.Xr utopia 4
|
|
||||||
.It Pa wi/
|
.It Pa wi/
|
||||||
.Xr wi 4
|
.Xr wi 4
|
||||||
WaveLAN driver
|
WaveLAN driver
|
||||||
|
@ -18,7 +18,6 @@ MAN= crash.8 \
|
|||||||
|
|
||||||
MLINKS= \
|
MLINKS= \
|
||||||
nanobsd.8 nanobsd.sh.8 \
|
nanobsd.8 nanobsd.sh.8 \
|
||||||
rc.8 rc.atm.8 \
|
|
||||||
rc.8 rc.d.8 \
|
rc.8 rc.d.8 \
|
||||||
rc.8 rc.firewall.8 \
|
rc.8 rc.firewall.8 \
|
||||||
rc.8 rc.local.8 \
|
rc.8 rc.local.8 \
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
.\" @(#)rc.8 8.2 (Berkeley) 12/11/93
|
.\" @(#)rc.8 8.2 (Berkeley) 12/11/93
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd April 23, 2016
|
.Dd April 25, 2017
|
||||||
.Dt RC 8
|
.Dt RC 8
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -455,15 +455,6 @@ disables the loading of firewall rules
|
|||||||
will load the rules in the given filename (full path required).
|
will load the rules in the given filename (full path required).
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
The
|
|
||||||
.Pa /etc/rc.d/atm*
|
|
||||||
scripts are used to configure ATM network interfaces.
|
|
||||||
The interfaces are configured in three passes.
|
|
||||||
The first pass performs the initial interface configuration.
|
|
||||||
The second pass completes the interface configuration and defines PVCs and
|
|
||||||
permanent ATMARP entries.
|
|
||||||
The third pass starts any ATM daemons.
|
|
||||||
.Pp
|
|
||||||
Most daemons, including network related daemons, have their own script in
|
Most daemons, including network related daemons, have their own script in
|
||||||
.Pa /etc/rc.d/ ,
|
.Pa /etc/rc.d/ ,
|
||||||
which can be used to start, stop, and check the status of the service.
|
which can be used to start, stop, and check the status of the service.
|
||||||
|
@ -299,7 +299,6 @@ MAN= accept_filter.9 \
|
|||||||
uidinfo.9 \
|
uidinfo.9 \
|
||||||
uio.9 \
|
uio.9 \
|
||||||
unr.9 \
|
unr.9 \
|
||||||
utopia.9 \
|
|
||||||
vaccess.9 \
|
vaccess.9 \
|
||||||
vaccess_acl_nfs4.9 \
|
vaccess_acl_nfs4.9 \
|
||||||
vaccess_acl_posix1e.9 \
|
vaccess_acl_posix1e.9 \
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd June 3, 2016
|
.Dd April 25, 2017
|
||||||
.Dt NETISR 9
|
.Dt NETISR 9
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -220,8 +220,6 @@ Routing socket loopback
|
|||||||
ARP
|
ARP
|
||||||
.It Dv NETISR_IPV6
|
.It Dv NETISR_IPV6
|
||||||
IPv6
|
IPv6
|
||||||
.It Dv NETISR_NATM
|
|
||||||
ATM
|
|
||||||
.It Dv NETISR_EPAIR
|
.It Dv NETISR_EPAIR
|
||||||
.Xr netstat 1 ,
|
.Xr netstat 1 ,
|
||||||
.Xr epair 4
|
.Xr epair 4
|
||||||
|
@ -1,353 +0,0 @@
|
|||||||
.\" Copyright (c) 2003
|
|
||||||
.\" Fraunhofer Institute for Open Communication Systems (FhG Fokus).
|
|
||||||
.\" All rights reserved.
|
|
||||||
.\"
|
|
||||||
.\" Redistribution and use in source and binary forms, with or without
|
|
||||||
.\" modification, are permitted provided that the following conditions
|
|
||||||
.\" are met:
|
|
||||||
.\" 1. Redistributions of source code must retain the above copyright
|
|
||||||
.\" notice, this list of conditions and the following disclaimer.
|
|
||||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
.\" notice, this list of conditions and the following disclaimer in the
|
|
||||||
.\" documentation and/or other materials provided with the distribution.
|
|
||||||
.\"
|
|
||||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
||||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
||||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
||||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
||||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
||||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
.\" SUCH DAMAGE.
|
|
||||||
.\"
|
|
||||||
.\" Author: Hartmut Brandt <harti@FreeBSD.org>
|
|
||||||
.\"
|
|
||||||
.\" $FreeBSD$
|
|
||||||
.\"
|
|
||||||
.Dd May 8, 2003
|
|
||||||
.Dt UTOPIA 9
|
|
||||||
.Os
|
|
||||||
.Sh NAME
|
|
||||||
.Nm utopia
|
|
||||||
.Nd "driver module for ATM PHY chips"
|
|
||||||
.Sh SYNOPSIS
|
|
||||||
.In dev/utopia/utopia.h
|
|
||||||
.Ft int
|
|
||||||
.Fo utopia_attach
|
|
||||||
.Fa "struct utopia *utp" "struct ifatm *ifatm" "struct ifmedia *media"
|
|
||||||
.Fa "struct mtx *lock" "struct sysctl_ctx_list *ctx"
|
|
||||||
.Fa "struct sysctl_oid_list *tree" "const struct utopia_methods *vtab"
|
|
||||||
.Fc
|
|
||||||
.Ft void
|
|
||||||
.Fn utopia_detach "struct utopia *utp"
|
|
||||||
.Ft int
|
|
||||||
.Fn utopia_start "struct utopia *utp"
|
|
||||||
.Ft void
|
|
||||||
.Fn utopia_stop "struct utopia *utp"
|
|
||||||
.Ft void
|
|
||||||
.Fn utopia_init_media "struct utopia *utp"
|
|
||||||
.Ft void
|
|
||||||
.Fn utopia_reset_media "struct utopia *utp"
|
|
||||||
.Ft int
|
|
||||||
.Fn utopia_reset "struct utopia *utp"
|
|
||||||
.Ft int
|
|
||||||
.Fn utopia_set_sdh "struct utopia *utp" "int sdh"
|
|
||||||
.Ft int
|
|
||||||
.Fn utopia_set_unass "struct utopia *utp" "int unass"
|
|
||||||
.Ft int
|
|
||||||
.Fn utopia_set_noscramb "struct utopia *utp" "int noscramb"
|
|
||||||
.Ft int
|
|
||||||
.Fn utopia_update_carrier "struct utopia *utp"
|
|
||||||
.Ft int
|
|
||||||
.Fn utopia_set_loopback "struct utopia *utp" "u_int mode"
|
|
||||||
.Ft void
|
|
||||||
.Fn utopia_intr "struct utopia *utp"
|
|
||||||
.Ft void
|
|
||||||
.Fn utopia_update_stats "struct utopia *utp"
|
|
||||||
.Sh DESCRIPTION
|
|
||||||
This module is used by all ATM drivers for cards that use a number of known
|
|
||||||
PHY chips to provide uniform functionality.
|
|
||||||
The module implements status monitoring in either interrupt or polling mode,
|
|
||||||
media option handling and application access to PHY registers.
|
|
||||||
.Pp
|
|
||||||
To use this interface, a driver must implement two functions for reading and
|
|
||||||
writing PHY registers, and initialize the following structure with pointers
|
|
||||||
to these functions:
|
|
||||||
.Bd -literal -offset indent
|
|
||||||
struct utopia_methods {
|
|
||||||
int (*readregs)(struct ifatm *, u_int reg,
|
|
||||||
uint8_t *val, u_int *n);
|
|
||||||
int (*writereg)(struct ifatm *, u_int reg,
|
|
||||||
u_int mask, u_int val);
|
|
||||||
};
|
|
||||||
.Ed
|
|
||||||
.Pp
|
|
||||||
The
|
|
||||||
.Fn readregs
|
|
||||||
function should read PHY registers starting at register
|
|
||||||
.Fa reg .
|
|
||||||
The maximum number of registers to read is given by the integer pointed
|
|
||||||
to by
|
|
||||||
.Fa n .
|
|
||||||
The function should either return 0 on success, or an error code.
|
|
||||||
In the first case,
|
|
||||||
.Fa *n
|
|
||||||
should be set to the actual number of registers read.
|
|
||||||
The
|
|
||||||
.Fn writereg
|
|
||||||
function should write one register.
|
|
||||||
It must change all bits for which the corresponding bit in
|
|
||||||
.Fa mask
|
|
||||||
is 1 to the value of the corresponding bit in
|
|
||||||
.Fa val .
|
|
||||||
It returns either 0 on success, or an error code.
|
|
||||||
.Pp
|
|
||||||
The ATM driver's private state block
|
|
||||||
.Pq Va softc
|
|
||||||
must begin with a
|
|
||||||
.Vt "struct ifatm" .
|
|
||||||
.Pp
|
|
||||||
The
|
|
||||||
.Vt "struct utopia"
|
|
||||||
holds the current state of the PHY chip and contains the following fields:
|
|
||||||
.Bd -literal -offset indent
|
|
||||||
struct utopia {
|
|
||||||
struct ifatm *ifatm; /* driver data */
|
|
||||||
struct ifmedia *media; /* driver supplied */
|
|
||||||
struct mtx *lock; /* driver supplied */
|
|
||||||
const struct utopia_methods *methods;
|
|
||||||
LIST_ENTRY(utopia) link; /* list of these structures */
|
|
||||||
u_int flags; /* flags set by the driver */
|
|
||||||
u_int state; /* current state */
|
|
||||||
u_int carrier; /* carrier state */
|
|
||||||
u_int loopback; /* loopback mode */
|
|
||||||
const struct utopia_chip *chip; /* chip operations */
|
|
||||||
struct utopia_stats1 stats; /* statistics */
|
|
||||||
};
|
|
||||||
.Ed
|
|
||||||
The public accessible fields have the following functions:
|
|
||||||
.Bl -tag -width indent
|
|
||||||
.It Va ifatm
|
|
||||||
Pointer to the driver's private data
|
|
||||||
.Pq Va softc .
|
|
||||||
.It Va media
|
|
||||||
Pointer to the driver's media structure.
|
|
||||||
.It Va lock
|
|
||||||
Pointer to a mutex provided by the driver.
|
|
||||||
This mutex is used to synchronize
|
|
||||||
with the kernel thread that handles device polling.
|
|
||||||
It is locked in several
|
|
||||||
places:
|
|
||||||
.Bl -enum -offset indent
|
|
||||||
.It
|
|
||||||
In
|
|
||||||
.Fn utopia_detach
|
|
||||||
the mutex is locked to sleep and wait for the kernel thread to remove the
|
|
||||||
.Vt "struct utopia"
|
|
||||||
from the list of all
|
|
||||||
.Nm
|
|
||||||
devices.
|
|
||||||
Before returning to the caller the mutex is unlocked.
|
|
||||||
.It
|
|
||||||
In the
|
|
||||||
.Nm
|
|
||||||
kernel thread the mutex is locked, and the
|
|
||||||
.Fn utopia_carrier_update
|
|
||||||
function is called with this mutex locked.
|
|
||||||
This will result in the driver's
|
|
||||||
.Fn readregs
|
|
||||||
function being called with the mutex locked.
|
|
||||||
.It
|
|
||||||
In the sysctl handlers the mutex will be locked before calling into the driver's
|
|
||||||
.Fn readreg
|
|
||||||
or
|
|
||||||
.Fn writereg
|
|
||||||
functions.
|
|
||||||
.El
|
|
||||||
.It Va flags
|
|
||||||
Flags set by either the driver or the
|
|
||||||
.Nm
|
|
||||||
module.
|
|
||||||
The following flags are
|
|
||||||
defined:
|
|
||||||
.Bl -tag -width indent
|
|
||||||
.It Dv UTP_FL_NORESET
|
|
||||||
If this flag is set, the module will not try to write the
|
|
||||||
SUNI master reset register.
|
|
||||||
(Set by the driver.)
|
|
||||||
.It Dv UTP_FL_POLL_CARRIER
|
|
||||||
If this flag is set, the module will periodically poll the carrier state
|
|
||||||
(as opposed to interrupt driven carrier state changes).
|
|
||||||
(Set by the driver.)
|
|
||||||
.El
|
|
||||||
.It Va state
|
|
||||||
Flags describing the current state of the PHY chip.
|
|
||||||
These are managed
|
|
||||||
by the module:
|
|
||||||
.Bl -tag -width indent
|
|
||||||
.It Dv UTP_ST_ACTIVE
|
|
||||||
The driver is active and the PHY registers can be accessed.
|
|
||||||
This is set by calling
|
|
||||||
.Fn utopia_start ,
|
|
||||||
which should be called either in the attach routine of the driver or
|
|
||||||
in the network interface initialisation routine (depending on whether the
|
|
||||||
registers are accessible all the time or only when the interface is up).
|
|
||||||
.It Dv UTP_ST_SDH
|
|
||||||
Interface is in SDH mode as opposed to SONET mode.
|
|
||||||
.It Dv UTP_ST_UNASS
|
|
||||||
Interface is producing unassigned cells instead of idle cells.
|
|
||||||
.It Dv UTP_ST_NOSCRAMB
|
|
||||||
Cell scrambling is switched off.
|
|
||||||
.It Dv UTP_ST_DETACH
|
|
||||||
(Internal use.)
|
|
||||||
Interface is currently detaching.
|
|
||||||
.It Dv UTP_ST_ATTACHED
|
|
||||||
The attach routine has been run successfully.
|
|
||||||
.El
|
|
||||||
.It Va carrier
|
|
||||||
The carrier state of the interface.
|
|
||||||
This field can have one of three values:
|
|
||||||
.Bl -tag -width indent
|
|
||||||
.It Dv UTP_CARR_UNKNOWN
|
|
||||||
Carrier state is still unknown.
|
|
||||||
.It Dv UTP_CARR_OK
|
|
||||||
Carrier has been detected.
|
|
||||||
.It Dv UTP_CARR_LOST
|
|
||||||
Carrier has been lost.
|
|
||||||
.El
|
|
||||||
.It Va loopback
|
|
||||||
This is the current loopback mode of the interface.
|
|
||||||
Note that not all
|
|
||||||
chips support all loopback modes.
|
|
||||||
Refer to the chip documentation.
|
|
||||||
The
|
|
||||||
following modes may be supported:
|
|
||||||
.Bl -tag -width indent
|
|
||||||
.It Dv UTP_LOOP_NONE
|
|
||||||
No loopback, normal operation.
|
|
||||||
.It Dv UTP_LOOP_TIME
|
|
||||||
Timing source loopback.
|
|
||||||
The transmitter clock is driven by the receive clock.
|
|
||||||
.It Dv UTP_LOOP_DIAG
|
|
||||||
Diagnostic loopback.
|
|
||||||
.It Dv UTP_LOOP_LINE
|
|
||||||
Serial line loopback.
|
|
||||||
.It Dv UTP_LOOP_PARAL
|
|
||||||
Parallel diagnostic loopback.
|
|
||||||
.It Dv UTP_LOOP_TWIST
|
|
||||||
Twisted pair diagnostic loopback.
|
|
||||||
.It Dv UTP_LOOP_PATH
|
|
||||||
Diagnostic path loopback.
|
|
||||||
.El
|
|
||||||
.It Va chip
|
|
||||||
This points to a function vector for chip specific functions.
|
|
||||||
Two fields
|
|
||||||
in this vector are publicly available:
|
|
||||||
.Bl -tag -width indent
|
|
||||||
.It Va type
|
|
||||||
This is the type of the detected PHY chip.
|
|
||||||
One of:
|
|
||||||
.Pp
|
|
||||||
.Bl -tag -width indent -compact
|
|
||||||
.It Dv UTP_TYPE_UNKNOWN Pq No 0
|
|
||||||
.It Dv UTP_TYPE_SUNI_LITE Pq No 1
|
|
||||||
.It Dv UTP_TYPE_SUNI_ULTRA Pq No 2
|
|
||||||
.It Dv UTP_TYPE_SUNI_622 Pq No 3
|
|
||||||
.It Dv UTP_TYPE_IDT77105 Pq No 4
|
|
||||||
.El
|
|
||||||
.It Va name
|
|
||||||
This is a string with the name of the PHY chip.
|
|
||||||
.El
|
|
||||||
.El
|
|
||||||
.Pp
|
|
||||||
The following functions are used by the driver during attach/detach and/or
|
|
||||||
initialisation/stopping the interface:
|
|
||||||
.Bl -tag -width indent
|
|
||||||
.It Fn utopia_attach
|
|
||||||
Attach the PHY chip.
|
|
||||||
This is called with a preallocated
|
|
||||||
.Vt "struct utopia"
|
|
||||||
(which may be part of the driver's
|
|
||||||
.Va softc ) .
|
|
||||||
The module initializes all fields of the
|
|
||||||
.Nm
|
|
||||||
state and the media field.
|
|
||||||
User settable flags should be set after the call to
|
|
||||||
.Fn utopia_attach .
|
|
||||||
This function may fail due to the inability to install the sysctl handlers.
|
|
||||||
In this case it will return \-1.
|
|
||||||
On success, 0 is returned and the
|
|
||||||
.Dv UTP_ST_ATTACHED
|
|
||||||
flag is set.
|
|
||||||
.It Fn utopia_detach
|
|
||||||
Remove the
|
|
||||||
.Nm
|
|
||||||
attachment from the system.
|
|
||||||
This cancels all outstanding polling
|
|
||||||
timeouts.
|
|
||||||
.It Fn utopia_start
|
|
||||||
Start operation of that PHY.
|
|
||||||
This should be called at a time
|
|
||||||
when the PHY registers are known to be accessible.
|
|
||||||
This may be either in
|
|
||||||
the driver's attach function or when the interface is set running.
|
|
||||||
.It Fn utopia_stop
|
|
||||||
Stop operation of the PHY attachment.
|
|
||||||
This may be called either in the detach
|
|
||||||
function of the driver or when the interface is brought down.
|
|
||||||
.It Fn utopia_init_media
|
|
||||||
This must be called if the media field in the ATM MIB was changed.
|
|
||||||
The function
|
|
||||||
makes sure, that the ifmedia fields contain the same information as the
|
|
||||||
ATM MIB.
|
|
||||||
.It Fn utopia_reset_media
|
|
||||||
This may be called to remove all media information from the ifmedia field.
|
|
||||||
.El
|
|
||||||
.Pp
|
|
||||||
The following functions can be used to modify the PHY state while the interface
|
|
||||||
is running:
|
|
||||||
.Bl -tag -width indent
|
|
||||||
.It Fn utopia_reset
|
|
||||||
Reset the operational parameters to the default state (SONET, idle cells,
|
|
||||||
scrambling enabled).
|
|
||||||
Returns 0 on success, an error code otherwise, leaving
|
|
||||||
the state undefined.
|
|
||||||
.It Fn utopia_set_sdh
|
|
||||||
If the argument is zero the chip is switched to Sonet mode, if it is non-zero
|
|
||||||
the chip is switched to SDH mode.
|
|
||||||
Returns 0 on success, an error code otherwise,
|
|
||||||
leaving the previous state.
|
|
||||||
.It Fn utopia_set_unass
|
|
||||||
If the argument is zero the chip is switched to produce idle cells, if it is
|
|
||||||
non-zero the chip is switched to produce unassigned cells.
|
|
||||||
Returns 0 on success,
|
|
||||||
an error code otherwise, leaving the previous state.
|
|
||||||
.It Fn utopia_set_noscramb
|
|
||||||
If the argument is zero enables scrambling, if it is
|
|
||||||
non-zero disables scrambling.
|
|
||||||
Returns 0 on success,
|
|
||||||
an error code otherwise, leaving the previous state.
|
|
||||||
.It Fn utopia_update_carrier
|
|
||||||
Check the carrier state and update the carrier field in the state structure.
|
|
||||||
This will generate a message to the Netgraph stack if the carrier state changes.
|
|
||||||
For chips that are polled this is called automatically, for interrupt
|
|
||||||
driven attachments this must be called on interrupts from the PHY chip.
|
|
||||||
.It Fn utopia_set_loopback
|
|
||||||
Set the loopback mode of the chip.
|
|
||||||
Returns 0 on success, an error code
|
|
||||||
otherwise, leaving the previous state.
|
|
||||||
.It Fn utopia_intr
|
|
||||||
Called when an interrupt from the PHY chip is detected.
|
|
||||||
This resets the
|
|
||||||
interrupt state by reading all registers and, if the interrupt was from the
|
|
||||||
RSOP, checks the carrier state.
|
|
||||||
.It Fn utopia_update_stats
|
|
||||||
Update the statistics with counters read from the chip.
|
|
||||||
.El
|
|
||||||
.Sh SEE ALSO
|
|
||||||
.Xr utopia 4
|
|
||||||
.Sh AUTHORS
|
|
||||||
.An Harti Brandt Aq Mt harti@FreeBSD.org
|
|
@ -1305,7 +1305,6 @@ f_network "disc%d" "Software discard network interface"
|
|||||||
f_network "ed%d" "Novell NE1000/2000; 3C503; NE2000-compatible PCMCIA"
|
f_network "ed%d" "Novell NE1000/2000; 3C503; NE2000-compatible PCMCIA"
|
||||||
f_network "el%d" "3Com 3C501 Ethernet card"
|
f_network "el%d" "3Com 3C501 Ethernet card"
|
||||||
f_network "em%d" "Intel(R) PRO/1000 Ethernet card"
|
f_network "em%d" "Intel(R) PRO/1000 Ethernet card"
|
||||||
f_network "en%d" "Efficient Networks ATM PCI card"
|
|
||||||
f_network "ep%d" "3Com 3C509 Ethernet card/3C589 PCMCIA"
|
f_network "ep%d" "3Com 3C509 Ethernet card/3C589 PCMCIA"
|
||||||
f_network "et%d" "Agere ET1310 based PCI Express Gigabit Ethernet card"
|
f_network "et%d" "Agere ET1310 based PCI Express Gigabit Ethernet card"
|
||||||
f_network "ex%d" "Intel EtherExpress Pro/10 Ethernet card"
|
f_network "ex%d" "Intel EtherExpress Pro/10 Ethernet card"
|
||||||
|
Loading…
Reference in New Issue
Block a user