-/* if_en.c 4.66 82/06/14 */
+/* if_en.c 4.72 82/11/13 */
#include "en.h"
#include "../h/buf.h"
#include "../h/protosw.h"
#include "../h/socket.h"
-#include "../h/ubareg.h"
-#include "../h/ubavar.h"
-#include "../h/enreg.h"
-#include "../h/cpu.h"
-#include "../h/mtpr.h"
#include "../h/vmmac.h"
-#include "../net/in.h"
-#include "../net/in_systm.h"
+#include <errno.h>
+
#include "../net/if.h"
-#include "../net/if_en.h"
-#include "../net/if_uba.h"
-#include "../net/ip.h"
-#include "../net/ip_var.h"
-#include "../net/pup.h"
+#include "../net/netisr.h"
#include "../net/route.h"
-#include <errno.h>
+#include "../netinet/in.h"
+#include "../netinet/in_systm.h"
+#include "../netinet/ip.h"
+#include "../netinet/ip_var.h"
+#include "../netpup/pup.h"
+
+#include "../vax/cpu.h"
+#include "../vax/mtpr.h"
+#include "../vaxif/if_en.h"
+#include "../vaxif/if_enreg.h"
+#include "../vaxif/if_uba.h"
+#include "../vaxuba/ubareg.h"
+#include "../vaxuba/ubavar.h"
#define ENMTU (1024+512)
#define ENMRU (1024+512+16) /* 16 is enough to receive trailer */
register int br, cvec; /* r11, r10 value-result */
register struct endevice *addr = (struct endevice *)reg;
-COUNT(ENPROBE);
#ifdef lint
br = 0; cvec = br; br = cvec;
enrint(0); enxint(0); encollide(0);
{
register struct en_softc *es = &en_softc[ui->ui_unit];
register struct sockaddr_in *sin;
-COUNT(ENATTACH);
es->es_if.if_unit = ui->ui_unit;
es->es_if.if_name = "en";
es->es_if.if_flags = IFF_BROADCAST;
es->es_if.if_init = eninit;
es->es_if.if_output = enoutput;
- es->es_if.if_ubareset = enreset;
+ es->es_if.if_reset = enreset;
es->es_ifuba.ifu_flags = UBA_NEEDBDP | UBA_NEED16 | UBA_CANTWAIT;
if_attach(&es->es_if);
}
int unit, uban;
{
register struct uba_device *ui;
-COUNT(ENRESET);
if (unit >= NEN || (ui = eninfo[unit]) == 0 || ui->ui_alive == 0 ||
ui->ui_ubanum != uban)
register struct endevice *addr;
struct mbuf *m;
int dest;
-COUNT(ENSTART);
if (es->es_oactive)
goto restart;
register struct uba_device *ui = eninfo[unit];
register struct en_softc *es = &en_softc[unit];
register struct endevice *addr = (struct endevice *)ui->ui_addr;
-COUNT(ENXINT);
if (es->es_oactive == 0)
return;
int unit;
{
struct en_softc *es = &en_softc[unit];
-COUNT(ENCOLLIDE);
es->es_if.if_collisions++;
if (es->es_oactive == 0)
struct endevice *addr = (struct endevice *)eninfo[unit]->ui_addr;
register struct en_header *en;
struct mbuf *m;
- int len, plen; short resid;
+ int len; short resid;
register struct ifqueue *inq;
int off;
-COUNT(ENRINT);
es->es_if.if_ipackets++;
register struct en_header *en;
register int off;
-COUNT(ENOUTPUT);
switch (dst->sa_family) {
#ifdef INET
case AF_INET:
dest = ((struct sockaddr_in *)dst)->sin_addr.s_addr;
- if (dest & 0x00ffff00) {
+ if (in_lnaof(*((struct in_addr *)&dest)) >= 0x100) {
error = EPERM; /* ??? */
goto bad;
}