Tweaks to document and support HIPPI-FP driver

This commit is contained in:
kml 1998-11-20 17:23:27 +00:00
parent 8e8595b01c
commit fa0f88251d
3 changed files with 36 additions and 5 deletions

View File

@ -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

View File

@ -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

View File

@ -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)
{