Date: Tue, 3 Mar 1998 06:59:48 -0800 (PST) From: gotoh@ae.anritsu.co.jp To: freebsd-gnats-submit@FreeBSD.ORG Subject: i386/5910: Ethernet Frame size is mismatch (if_lnc.c) Message-ID: <199803031459.GAA21128@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 5910
>Category: i386
>Synopsis: Ethernet Frame size is mismatch (if_lnc.c)
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Mar 3 07:00:02 PST 1998
>Last-Modified:
>Originator: Yoshikazu Goto
>Organization:
Anritsu Engineering Co.,Ltd
>Release: FreeBSD 2.2.5-RELEASE
>Environment:
FreeBSD melchior.magi.or.jp 2.2.5-RELEASE FreeBSD 2.2.5-RELEASE #0:
Sun Mar 1 01:30:59 JST 1998
goto@melchior.magi.or.jp:/usr/src/sys/compile/MELCHIOR i386
>Description:
My system is used a NE2100(C-LANCE) NIC. This NIC is sent some Ethernet
frame, but frame size is wrong. When I run the "ping" command,
% ping -c 1 -s 18 192.168.1.1
output packet size is 68bytes. Perhaps,...
Ethernet header + IP header + ICMP header +
ICMP data + (4) + FCS = 68byte
>How-To-Repeat:
If you send a packet that size is larger than 64bytes and smaller then
68bytes, Output packet size is 68byte.
>Fix:
In "/usr/src/sys/i386/isa/if_lnc.c", In function "lnc_start()",
desc->md->md2 = -max(len, ETHER_MIN_LEN);
this line is mismatch. I think, correct routine is next line.
desc->md->md2 = -max(len, ETHER_MIN_LEN - ETHER_CRC_LEN);
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803031459.GAA21128>
