Date: Wed, 25 Mar 2009 22:21:53 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r190431 - head/sys/dev/ed Message-ID: <200903252221.n2PMLrXT091276@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: imp Date: Wed Mar 25 22:21:53 2009 New Revision: 190431 URL: http://svn.freebsd.org/changeset/base/190431 Log: Tweak comments. Modified: head/sys/dev/ed/if_ed.c Modified: head/sys/dev/ed/if_ed.c ============================================================================== --- head/sys/dev/ed/if_ed.c Wed Mar 25 22:21:38 2009 (r190430) +++ head/sys/dev/ed/if_ed.c Wed Mar 25 22:21:53 2009 (r190431) @@ -806,14 +806,15 @@ ed_rint(struct ed_softc *sc) /* * Length is a wild value. There's a good chance that * this was caused by the NIC being old and buggy. - * The bug is that the length low byte is duplicated in - * the high byte. Try to recalculate the length based on - * the pointer to the next packet. - */ - /* - * NOTE: sc->next_packet is pointing at the current packet. + * The bug is that the length low byte is duplicated + * in the high byte. Try to recalculate the length + * based on the pointer to the next packet. Also, + * need ot preserve offset into page. + * + * NOTE: sc->next_packet is pointing at the current + * packet. */ - len &= ED_PAGE_SIZE - 1; /* preserve offset into page */ + len &= ED_PAGE_SIZE - 1; if (packet_hdr.next_packet >= sc->next_packet) len += (packet_hdr.next_packet - sc->next_packet) * ED_PAGE_SIZE; @@ -834,14 +835,14 @@ ed_rint(struct ed_softc *sc) } /* - * Be fairly liberal about what we allow as a "reasonable" length - * so that a [crufty] packet will make it to BPF (and can thus - * be analyzed). Note that all that is really important is that - * we have a length that will fit into one mbuf cluster or less; - * the upper layer protocols can then figure out the length from - * their own length field(s). - * But make sure that we have at least a full ethernet header - * or we would be unable to call ether_input() later. + * Be fairly liberal about what we allow as a "reasonable" + * length so that a [crufty] packet will make it to BPF (and + * can thus be analyzed). Note that all that is really + * important is that we have a length that will fit into one + * mbuf cluster or less; the upper layer protocols can then + * figure out the length from their own length field(s). But + * make sure that we have at least a full ethernet header or + * we would be unable to call ether_input() later. */ if ((len >= sizeof(struct ed_ring) + ETHER_HDR_LEN) && (len <= MCLBYTES) &&
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903252221.n2PMLrXT091276>