Skip site navigation (1)Skip section navigation (2)
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>