SCCS-vsn: sys/vax/if/if_en.c 4.19
-/* if_en.c 4.18 81/12/09 */
+/* if_en.c 4.19 81/12/09 */
return;
}
dest = mtod(m, struct en_header *)->en_dhost;
return;
}
dest = mtod(m, struct en_header *)->en_dhost;
-printf("if_wubaput m=%x\n", m);
es->es_olen = if_wubaput(&es->es_ifuba, m);
es->es_olen = if_wubaput(&es->es_ifuba, m);
-printf("wubaput to %x len %d\n", es->es_ifuba.ifu_w.ifrw_addr, es->es_olen);
-asm("halt");
/*
* Ethernet cannot take back-to-back packets (no
/*
* Ethernet cannot take back-to-back packets (no
register struct endevice *addr;
COUNT(ENXINT);
register struct endevice *addr;
COUNT(ENXINT);
if (es->es_oactive == 0)
return;
addr = (struct endevice *)ui->ui_addr;
if (es->es_oactive == 0)
return;
addr = (struct endevice *)ui->ui_addr;
register struct en_softc *es = &en_softc[unit];
COUNT(ENCOLLIDE);
register struct en_softc *es = &en_softc[unit];
COUNT(ENCOLLIDE);
es->es_if.if_collisions++;
if (es->es_oactive == 0)
return;
es->es_if.if_collisions++;
if (es->es_oactive == 0)
return;
es->es_if.if_ipackets++;
/*
es->es_if.if_ipackets++;
/*
* Remember that type was trailer by setting off.
*/
en = (struct en_header *)(es->es_ifuba.ifu_r.ifrw_addr);
* Remember that type was trailer by setting off.
*/
en = (struct en_header *)(es->es_ifuba.ifu_r.ifrw_addr);
-printf("en %x, en->en_type %d\n", en, en->en_type);
#define endataaddr(en, off, type) ((type)(((caddr_t)((en)+1)+(off))))
if (en->en_type >= ENPUP_TRAIL &&
en->en_type < ENPUP_TRAIL+ENPUP_NTRAILER) {
#define endataaddr(en, off, type) ((type)(((caddr_t)((en)+1)+(off))))
if (en->en_type >= ENPUP_TRAIL &&
en->en_type < ENPUP_TRAIL+ENPUP_NTRAILER) {
-printf("off %d\n", off);
/*
* Attempt to infer packet length from type;
* can't deal with packet if can't infer length.
/*
* Attempt to infer packet length from type;
* can't deal with packet if can't infer length.
dest = ip->ip_dst.s_addr >> 24;
off = ntohs(ip->ip_len) - m->m_len;
dest = ip->ip_dst.s_addr >> 24;
off = ntohs(ip->ip_len) - m->m_len;
-printf("PF_INET enoutput off %d m->m_off %d m->m_len %d\n", off, m->m_off, m->m_len);
if (off > 0 && (off & 0x1ff) == 0 && m->m_off >= MMINOFF + 2) {
type = ENPUP_TRAIL + (off>>9);
m->m_off -= 2;
if (off > 0 && (off & 0x1ff) == 0 && m->m_off >= MMINOFF + 2) {
type = ENPUP_TRAIL + (off>>9);
m->m_off -= 2;
-printf("m %x after trailer futz\n", m);
-asm("halt");
gottype:
/*
* Add local net header. If no space in first mbuf,
gottype:
/*
* Add local net header. If no space in first mbuf,
* not yet active.
*/
s = splimp();
* not yet active.
*/
s = splimp();
-printf("queueing %x\n", m);
-asm("halt");
IF_ENQUEUE(&ifp->if_snd, m);
splx(s);
if (en_softc[ifp->if_unit].es_oactive == 0)
IF_ENQUEUE(&ifp->if_snd, m);
splx(s);
if (en_softc[ifp->if_unit].es_oactive == 0)