Thread View: comp.bugs.2bsd
1 messages
1 total messages
Started by Steven M. Schultz
Thu, 12 Apr 1990 03:29
if_acc.c (ACC LH/DH-11) driver broke (+FIX)
Author: Steven M. Schultz
Date: Thu, 12 Apr 1990 03:29
Date: Thu, 12 Apr 1990 03:29
220 lines
6594 bytes
6594 bytes
Subject: if_acc (LH/DH-11) interface is broken +FIX
Index: sys/pdpif/if_acc.c 2.10BSD
Description:
The ACC LH/DH interface driver (if_acc.c) won't even compile
much less run.
Repeat-By:
Select NIMP and NACC options in the kernel generation.
Observe the errors when attempting to compile.
Fix:
The if_acc.c driver was never ported to the supervisor mode
networking available with 2.10.1BSD. Neither were the if_imp
and if_imphost modules.
With the patches below the if_acc.c (with if_imp.c and if_imphost.c)
driver will work. A small addition to the short_names.h file
is also included.
Also included are patches for:
if_dmc.c
if_sri.c
if_css.c
which will enable those drivers to compile. the drivers have not
been tested though.
This is the "old" imp software, not the "new" version released for
4.3BSD a year or so ago. The "old" imp modules in 'netstat' should
remain the ones compiled into 'netstat'.
*** /usr/oldinclude/short_names.h Wed Apr 11 15:20:01 1990
--- /usr/include/short_names.h Wed Apr 11 10:56:00 1990
***************
*** 53,58 ****
--- 53,59 ----
#define ifa_ifwithnet ifa_wnet
#define imphostdead imphdead /* etc/implog */
#define imphostunreach imphunreach /* etc/implog */
+ #define impintrq impintq
#define in_pcballoc in_pcbg
#define in_pcbdetach in_pcbetach
#define inet_netof inet_nof
diff -r -c /usr/src/oldsys/netimp/if_imp.c /usr/src/sys/netimp/if_imp.c
*** /usr/src/oldsys/netimp/if_imp.c Thu Apr 28 10:59:48 1988
--- /usr/src/sys/netimp/if_imp.c Wed Apr 11 11:01:12 1990
***************
*** 58,63 ****
--- 58,64 ----
char imp_dropcnt; /* used during initialization */
} imp_softc[NIMP];
+ extern int hz;
struct ifqueue impintrq;
int impqmaxlen = IFQ_MAXLEN;
diff -r -c /usr/src/oldsys/netimp/if_imphost.c /usr/src/sys/netimp/if_imphost.c
*** /usr/src/oldsys/netimp/if_imphost.c Sat Mar 5 14:30:20 1988
--- /usr/src/sys/netimp/if_imphost.c Wed Apr 11 11:01:00 1990
***************
*** 19,25 ****
#include "param.h"
#include "mbuf.h"
#include "domain.h"
! #include "proto.h"
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netimp/if_imp.h>
--- 19,25 ----
#include "param.h"
#include "mbuf.h"
#include "domain.h"
! #include "protosw.h"
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netimp/if_imp.h>
diff -r -c /usr/src/oldsys/netimp/if_imphost.h /usr/src/sys/netimp/if_imphost.h
*** /usr/src/oldsys/netimp/if_imphost.h Mon Jul 4 12:27:28 1988
--- /usr/src/sys/netimp/if_imphost.h Wed Apr 11 16:10:28 1990
***************
*** 46,54 ****
* automatically at the time a structure is free'd.
*/
#define HPMBUF ((MLEN - sizeof(int)) / sizeof(struct host))
- #if vax
#define HOSTHASH(a) ((((a).s_addr>>8)+(a).s_net) % HPMBUF)
- #endif
/*
* In-line expansions for queuing operations on
--- 46,52 ----
diff -r /usr/src/oldsys/pdpif/if_acc.c /usr/src/sys/pdpif/if_acc.c
22a23
> #include "domain.h"
116c117
< if ((ifimp = (struct ifimpcb *)impattach(ui)) == 0)
---
> if ((ifimp = (struct ifimpcb *)impattach(ui, accreset)) == 0)
287d287
< MAPSAVE();
308d307
< MAPREST();
322d320
< MAPSAVE();
389d386
< MAPREST();
diff -r /usr/src/oldsys/pdpif/if_css.c /usr/src/sys/pdpif/if_css.c
42a43
> #include "domain.h"
138c139
< if ((ifimp = (struct ifimpcb *)impattach(ui)) == 0)
---
> if ((ifimp = (struct ifimpcb *)impattach(ui, cssreset)) == 0)
305d305
< MAPSAVE();
327d326
< MAPREST();
342d340
< MAPSAVE();
401d398
< MAPREST();
diff -r /usr/src/oldsys/pdpif/if_dmc.c /usr/src/sys/pdpif/if_dmc.c
24a25
> #include "ioctl.h"
25a27
> #include "domain.h"
34a37
> #include "netinet/in_var.h"
36a40
> #include "net/netisr.h"
125,129d128
< sc->sc_if.if_net = (ui->ui_flags & DMC_NET) >> 8;
< sc->sc_if.if_host[0] = 17; /* random number */
< sin = (struct sockaddr_in *)&sc->sc_if.if_addr;
< sin->sin_family = AF_INET;
< sin->sin_addr = if_makeaddr(sc->sc_if.if_net, sc->sc_if.if_host[0]);
132c131,132
< sc->sc_if.if_ubareset = dmcreset;
---
> sc->sc_if.if_reset = dmcreset;
> sc->sc_if.if_flags = IFF_POINTOPOINT;
187,191d186
< /* set up routing table entry */
< if ((sc->sc_if.if_flags & IFF_ROUTE) == 0) {
< rtinit(&sc->sc_if.if_addr, &sc->sc_if.if_addr, RTF_HOST|RTF_UP);
< sc->sc_if.if_flags |= IFF_ROUTE;
< }
220c215
< printd("mr 0x%x\n", sc->sc_ifuba.ifu_w.ifrw_mr[0]);
---
> printd("mr 0x%lx\n", sc->sc_ifuba.ifu_w.ifrw_info);
314c309
< switch (ui->ui_flags & DMC_AF) {
---
> switch (sc->sc_flag & DMC_AF) {
324c319
< ui->ui_flags & DMC_AF);
---
> sc->sc_flag & DMC_AF);
392,393c387,388
< if (dst->sa_family != (ui->ui_flags & DMC_AF)) {
< printf("dmc%d: af%d not supported\n", ifp->if_unit, pf);
---
> if (dst->sa_family != AF_INET) {
> printf("dmc%d: af%d not supported\n", ifp->if_unit, AF_INET);
diff -r /usr/src/oldsys/pdpif/if_sri.c /usr/src/sys/pdpif/if_sri.c
19a20
> #include "domain.h"
37,43c38,39
< #if pdp11
< #define IFRADDR MBX
< #define IFWADDR MBX
< #else
< #define IFRADDR sc->sri_ifuba.ifu_r.ifrw_addr
< #define IFWADDR sc->sri_ifuba.ifu_w.ifrw_addr
< #endif
---
> #define IFRADDR sc->sri_ifuba.ifu_r.ifrw_info
> #define IFWADDR sc->sri_ifuba.ifu_w.ifrw_info
135c131
< if ((ifimp = (struct ifimpcb *)impattach(ui)) == 0)
---
> if ((ifimp = (struct ifimpcb *)impattach(ui, srireset)) == 0)
142c138
< sc->sri_if->if_ubareset = srireset;
---
> sc->sri_if->if_reset = srireset;
232c228
< sc->sri_iba = IFRADDR;
---
> sc->sri_iba = (char *)IFRADDR;
271,272d266
< MAPSAVE();
< mapseg5(sc->sri_oclick, MBMAPSIZE);
274c268
< sc->sri_oba = IFWADDR;
---
> sc->sri_oba = (char *)IFWADDR;
281d274
< MAPREST();
294,295d286
< MAPSAVE();
< mapseg5(sc->sri_oclick, MBMAPSIZE);
328c319
< MAPREST();
---
> return;
343,344d333
< MAPSAVE();
< mapseg5(sc->sri_iclick, MBMAPSIZE);
428c417
< sc->sri_iba = IFRADDR;
---
> sc->sri_iba = (char *)IFRADDR;
433c422
< MAPREST();
---
> return;
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads