Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Oct 2006 09:04:52 GMT
From:      Andrey Golenischev<megasid@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/104901: bug with 1500 bytes packets and DUMMYNET
Message-ID:  <200610290904.k9T94qpb034249@www.freebsd.org>
Resent-Message-ID: <200610290910.k9T9AHDJ047591@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         104901
>Category:       misc
>Synopsis:       bug with 1500 bytes packets and DUMMYNET
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 29 09:10:17 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Andrey Golenischev
>Release:        5.4
>Organization:
INFOCOM
>Environment:
FreeBSD box 5.4-RELEASE-p19 FreeBSD 5.4-RELEASE-p19 #0: Wed Oct 18 01:11:56 EEST 2006     megasid@box:/usr/src/sys/i386/compile/BOX  i386
>Description:
We have BoxA, BoxB, BoxC

BoxA linked to BoxB with an ethernet
BoxB linked to BoxC with an ethernet
no tunnels, vlans etc used. just pure ethernet link.
BoxB have 2 ethernet cards. BoxA and BoxC - one.
All boxes set gateway_enable="YES"
BoxC have an ip address 10.0.0.1
When i setup a pipe on BoxB for example:
ipfw add pipe 1 ip from any to 10.0.0.1 out
ipfw add pipe 2 ip from 10.0.0.1 to any in
ipfw pipe 1 config bw 128Kbit/s
ipfw pipe 2 config bw 128Kbit/s


When i ping with packets size <= 1472 bytes:
>From BoxA to BoxC - passed ok
>From BoxB to BoxC - passed ok

When i ping with packets size > 1472 bytes:
>From BoxA to BoxC - got error: Frag reassembly time exceeded
>From BoxB to BoxC - passed ok

when i delete pipe rule - all packets with 1500 bytes size passed ok.

I test this on 5.2.1 release and 4.X releases - there is no such error. Only in 5.4 (i test on several boxes with such linking configuration, the same error with 5.4 is occur).
>How-To-Repeat:
Get FreeBSD 5.4 release
Get 3 mashines, one with 2 ethernet cards, other two with one ethernet card.
Connect one mashine to two another mashines to different ethernet cards.
Install FreeBSD 5.4 on all this mashines.
Configure kernel enabling DUMMYNET
Set in rc.conf gateway_enable="YES"
Set on pair mashine1-mashine2 ip address (10.0.0.1-10.0.0.2 with netmask 255.255.255.252). Set on mashine1 in rc.conf defaultrouter="10.0.0.2"
Set on pair (mashine3-mashine2) ip address (10.0.0.5-10.0.0.6 with netmask 255.255.255.252). Set on mashine3 in rc.conf defaultrouter="10.0.0.6"

On mashine2:
/sbin/ipfw add pipe 1 ip from any to 10.0.0.5 out
/sbin/ipfw add pipe 2 ip from 10.0.0.5 to any in
/sbin/ipfw pipe 1 config bw 128Kbit/s
/sbin/ipfw pipe 2 config bw 128Kbit/s

On mashine2:
ping -s 1472 10.0.0.5 - (it shall be ok)
On mashine1:
ping -s 1472 10.0.0.5 - (it shall be ok)

On mashine2:
ping -s 1500 10.0.0.5 - (it shall be ok)
On mashine1:
ping -s 1500 10.0.0.5 - (it shall not pass or return error: Frag reassembly time exceeded)

Repeat ping steps when you do ipfw flush on mashine2 and you see that all packets passed ok.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610290904.k9T94qpb034249>