kern/72440: Not increment ifp->if_snd.ifq_drops when discarding
queue check in ip_output.c
Katsushi Kobayashi
ikob at FreeBSD.org
Fri Oct 8 00:30:21 PDT 2004
>Number: 72440
>Category: kern
>Synopsis: Not increment ifp->if_snd.ifq_drops when discarding queue check in ip_output.c
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Fri Oct 08 07:30:20 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Katsushi Kobayashi
>Release: 4.1.10
>Organization:
National Institute of Communications Technology
>Environment:
FreeBSD eeyore.koganei.wide.ad.jp 4.10-RELEASE FreeBSD 4.10-RELEASE #3: Thu Oct 7 20:17:39 JST 2004 ikob at eeyore.koganei.wide.ad.jp:/usr/home/ikob/sys/compile/PR i386
>Description:
I was trying to make a FreeBSD box having 2 network i/f as a IP router. We made
a heavy congestion point in my lab. with one i/f as 100BaseTX and another one
as 10BaseT. We expected to increase send queue counter using "netstat -i -d ".
However, the drop count for congested interface did not increase ever.
>How-To-Repeat:
netstat -i -d
>Fix:
I guess the following patch could be useful for this issue:
*** ip_output.c.orig Fri Oct 8 16:22:02 2004
--- ip_output.c Fri Oct 8 16:23:49 2004
***************
*** 426,431 ****
--- 426,432 ----
ifp->if_snd.ifq_maxlen) {
error = ENOBUFS;
ipstat.ips_odropped++;
+ ifp->if_snd.ifq_drops += (ip->ip_len / ifp->if_mtu + 1);
goto bad;
}
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list