Tweaks to document and support HIPPI-FP driver
This commit is contained in:
parent
8e8595b01c
commit
fa0f88251d
|
@ -1,4 +1,4 @@
|
|||
.\" $NetBSD: esh.4,v 1.2 1998/05/17 16:46:06 kml Exp $
|
||||
.\" $NetBSD: esh.4,v 1.3 1998/11/20 17:23:41 kml Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
|
||||
.\" All rights reserved.
|
||||
|
@ -50,6 +50,13 @@ device driver supports the Essential Communications RoadRunner-based
|
|||
HIPPI interfaces. With some modifications, the driver could be
|
||||
made to support the Gigabit Ethernet card based on the same chip.
|
||||
.Pp
|
||||
The driver supports both a normal network interface and a raw
|
||||
HIPPI Framing Protocol (HIPPI-FP) device.
|
||||
The HIPPI-FP interface is accessed via the
|
||||
.Pa /dev/esh Ns Sy N/ulp Ns Sy N
|
||||
set of devices. There are 255 available Upper Layer Protocols
|
||||
in FP; these are selectable via the various device entries.
|
||||
.Pp
|
||||
HIPPI is an 800-megabit/sec networking technology which supports
|
||||
extremely large packet sizes. In order to efficiently use this
|
||||
network, the kernel should be configured with extra mbufs, and
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $NetBSD: eshconfig.8,v 1.2 1998/05/17 16:47:26 kml Exp $
|
||||
.\" $NetBSD: eshconfig.8,v 1.3 1998/11/20 17:23:27 kml Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
.\" All rights reserved.
|
||||
|
@ -53,6 +53,7 @@
|
|||
.Op Fl t
|
||||
.Op Fl u Ar filename
|
||||
.Op Fl w Ar bytes
|
||||
.Op Fl x
|
||||
.Op Ar interface
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
|
@ -103,6 +104,12 @@ Not currently supported.
|
|||
Number of bytes required before write (from NIC to host) DMA
|
||||
is started.
|
||||
Until this many bytes are ready to be written, the DMA will not start.
|
||||
.It Fl x
|
||||
Reset the NIC. This is necessary for the HIPPI-FP support, as
|
||||
.Xr ifconfig 8
|
||||
will no longer physically reset the NIC when the interfaces goes
|
||||
up and down.
|
||||
.El
|
||||
.Pp
|
||||
Only the super-user may modify the configuration of a network interface.
|
||||
.Sh DIAGNOSTICS
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: eshconfig.c,v 1.1 1998/05/16 18:55:18 kml Exp $ */
|
||||
/* $NetBSD: eshconfig.c,v 1.2 1998/11/20 17:23:27 kml Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 The NetBSD Foundation, Inc.
|
||||
|
@ -39,7 +39,7 @@
|
|||
|
||||
#include <sys/cdefs.h>
|
||||
#ifndef lint
|
||||
__RCSID("$NetBSD: eshconfig.c,v 1.1 1998/05/16 18:55:18 kml Exp $");
|
||||
__RCSID("$NetBSD: eshconfig.c,v 1.2 1998/11/20 17:23:27 kml Exp $");
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
|
@ -116,6 +116,7 @@ static void esh_tune __P((void));
|
|||
static void esh_tune_eeprom __P((void));
|
||||
static void esh_tuning_stats __P((void));
|
||||
static void esh_stats __P((int));
|
||||
static void esh_reset __P((void));
|
||||
static int drvspec_ioctl __P((char *, int, int, int, caddr_t));
|
||||
static void usage __P((void));
|
||||
int main __P((int, char *[]));
|
||||
|
@ -167,6 +168,7 @@ usage()
|
|||
fprintf(stderr, "-u upload filename [not working]\n");
|
||||
fprintf(stderr, "-w bytes before DMA starts for write\n");
|
||||
fprintf(stderr, "-i interrupt delay in usecs\n");
|
||||
fprintf(stderr, "-x reset interface\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -219,6 +221,7 @@ int get_tuning_stats = 0;
|
|||
int eeprom_write = 0;
|
||||
char *eeprom_download_filename = NULL;
|
||||
char *eeprom_upload_filename = NULL;
|
||||
int reset = 0;
|
||||
|
||||
struct rr_tuning rr_tune;
|
||||
struct rr_eeprom rr_eeprom;
|
||||
|
@ -234,7 +237,7 @@ main(argc, argv)
|
|||
|
||||
/* Parse command-line options */
|
||||
|
||||
while ((ch = getopt(argc, argv, "b:c:d:ei:m:r:stu:w:")) != -1) {
|
||||
while ((ch = getopt(argc, argv, "b:c:d:ei:m:r:stu:w:x")) != -1) {
|
||||
switch (ch) {
|
||||
case 'b':
|
||||
dma_max_read = atoi(optarg);
|
||||
|
@ -269,6 +272,9 @@ main(argc, argv)
|
|||
case 'w':
|
||||
dma_thresh_write = atoi(optarg);
|
||||
break;
|
||||
case 'x':
|
||||
reset = 1;
|
||||
break;
|
||||
default:
|
||||
usage();
|
||||
/* NOTREACHED */
|
||||
|
@ -320,6 +326,10 @@ main(argc, argv)
|
|||
|
||||
if (eeprom_write)
|
||||
esh_tune_eeprom();
|
||||
|
||||
if (reset)
|
||||
esh_reset();
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
@ -689,6 +699,13 @@ struct stats_values stats_values[] = {
|
|||
{0, 0},
|
||||
};
|
||||
|
||||
static void
|
||||
esh_reset()
|
||||
{
|
||||
if (drvspec_ioctl(name, s, EIOCRESET, 0, 0) < 0)
|
||||
err(1, "ioctl(EIOCRESET)");
|
||||
}
|
||||
|
||||
static void
|
||||
esh_stats(int get_stats)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue