Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev When padding short packets on transmit, don't includ...
details: https://anonhg.NetBSD.org/src/rev/67e286e3d4eb
branches: trunk
changeset: 475800:67e286e3d4eb
user: thorpej <thorpej%NetBSD.org@localhost>
date: Wed Aug 25 22:41:42 1999 +0000
description:
When padding short packets on transmit, don't include the CRC length
in the computation. kern/8194.
diffstat:
sys/dev/ic/dp8390.c | 4 ++--
sys/dev/ic/smc83c170.c | 5 +++--
sys/dev/isa/if_eg.c | 4 ++--
sys/dev/isa/if_el.c | 5 +++--
sys/dev/isa/if_iy.c | 6 +++---
5 files changed, 13 insertions(+), 11 deletions(-)
diffs (94 lines):
diff -r 906cd1357a87 -r 67e286e3d4eb sys/dev/ic/dp8390.c
--- a/sys/dev/ic/dp8390.c Wed Aug 25 21:12:54 1999 +0000
+++ b/sys/dev/ic/dp8390.c Wed Aug 25 22:41:42 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: dp8390.c,v 1.25 1999/06/23 04:17:10 abs Exp $ */
+/* $NetBSD: dp8390.c,v 1.26 1999/08/25 22:41:42 thorpej Exp $ */
/*
* Device driver for National Semiconductor DS8390/WD83C690 based ethernet
@@ -478,7 +478,7 @@
len = dp8390_write_mbuf(sc, m0, buffer);
m_freem(m0);
- sc->txb_len[sc->txb_new] = max(len, ETHER_MIN_LEN);
+ sc->txb_len[sc->txb_new] = max(len, ETHER_MIN_LEN - ETHER_CRC_LEN);
/* Point to next buffer slot and wrap if necessary. */
if (++sc->txb_new == sc->txb_cnt)
diff -r 906cd1357a87 -r 67e286e3d4eb sys/dev/ic/smc83c170.c
--- a/sys/dev/ic/smc83c170.c Wed Aug 25 21:12:54 1999 +0000
+++ b/sys/dev/ic/smc83c170.c Wed Aug 25 22:41:42 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: smc83c170.c,v 1.19 1999/08/03 17:25:51 thorpej Exp $ */
+/* $NetBSD: smc83c170.c,v 1.20 1999/08/25 22:44:26 thorpej Exp $ */
/*-
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
@@ -412,7 +412,8 @@
* auto-pad, so we have to do this ourselves.
*/
txd->et_control = ET_TXCTL_LASTDESC | ET_TXCTL_FRAGLIST;
- txd->et_txlength = max(m0->m_pkthdr.len, ETHER_MIN_LEN);
+ txd->et_txlength = max(m0->m_pkthdr.len,
+ ETHER_MIN_LEN - ETHER_CRC_LEN);
/*
* If this is the first descriptor we're enqueueing,
diff -r 906cd1357a87 -r 67e286e3d4eb sys/dev/isa/if_eg.c
--- a/sys/dev/isa/if_eg.c Wed Aug 25 21:12:54 1999 +0000
+++ b/sys/dev/isa/if_eg.c Wed Aug 25 22:41:42 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_eg.c,v 1.47 1999/05/18 23:52:57 thorpej Exp $ */
+/* $NetBSD: if_eg.c,v 1.48 1999/08/25 22:46:16 thorpej Exp $ */
/*
* Copyright (c) 1993 Dean Huxley <dean%fsa.ca@localhost>
@@ -613,7 +613,7 @@
printf("%s: no header mbuf\n", sc->sc_dev.dv_xname);
panic("egstart");
}
- len = max(m0->m_pkthdr.len, ETHER_MIN_LEN);
+ len = max(m0->m_pkthdr.len, ETHER_MIN_LEN - ETHER_CRC_LEN);
#if NBPFILTER > 0
if (ifp->if_bpf)
diff -r 906cd1357a87 -r 67e286e3d4eb sys/dev/isa/if_el.c
--- a/sys/dev/isa/if_el.c Wed Aug 25 21:12:54 1999 +0000
+++ b/sys/dev/isa/if_el.c Wed Aug 25 22:41:42 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_el.c,v 1.58 1999/05/18 23:52:57 thorpej Exp $ */
+/* $NetBSD: if_el.c,v 1.59 1999/08/25 22:46:16 thorpej Exp $ */
/*
* Copyright (c) 1994, Matthew E. Kimmel. Permission is hereby granted
@@ -400,7 +400,8 @@
/* Transfer datagram to board. */
DPRINTF(("el: xfr pkt length=%d...\n", m0->m_pkthdr.len));
- off = EL_BUFSIZ - max(m0->m_pkthdr.len, ETHER_MIN_LEN);
+ off = EL_BUFSIZ - max(m0->m_pkthdr.len,
+ ETHER_MIN_LEN - ETHER_CRC_LEN);
#ifdef DIAGNOSTIC
if ((off & 0xffff) != off)
printf("%s: bogus off 0x%x\n",
diff -r 906cd1357a87 -r 67e286e3d4eb sys/dev/isa/if_iy.c
--- a/sys/dev/isa/if_iy.c Wed Aug 25 21:12:54 1999 +0000
+++ b/sys/dev/isa/if_iy.c Wed Aug 25 22:41:42 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_iy.c,v 1.34 1999/05/18 23:52:57 thorpej Exp $ */
+/* $NetBSD: if_iy.c,v 1.35 1999/08/25 22:46:16 thorpej Exp $ */
/* #define IYDEBUG */
/* #define IYMEMDEBUG */
@@ -621,8 +621,8 @@
#ifdef IYDEBUG
printf("%s: length is %d.\n", sc->sc_dev.dv_xname, len);
#endif
- if (len < ETHER_MIN_LEN) {
- pad = ETHER_MIN_LEN - len;
+ if (len < (ETHER_MIN_LEN - ETHER_CRC_LEN)) {
+ pad = ETHER_MIN_LEN - ETHER_CRC_LEN - len;
}
if (len + pad > ETHER_MAX_LEN) {
Home |
Main Index |
Thread Index |
Old Index