From owner-freebsd-questions@FreeBSD.ORG Sun Mar 6 22:31:20 2005 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C53C416A4CE for ; Sun, 6 Mar 2005 22:31:20 +0000 (GMT) Received: from av7-1-sn1.fre.skanova.net (av7-1-sn1.fre.skanova.net [81.228.11.113]) by mx1.FreeBSD.org (Postfix) with ESMTP id 414D943D54 for ; Sun, 6 Mar 2005 22:31:20 +0000 (GMT) (envelope-from daniel_k_eriksson@telia.com) Received: by av7-1-sn1.fre.skanova.net (Postfix, from userid 502) id 1675A37E76; Sun, 6 Mar 2005 23:31:19 +0100 (CET) Received: from smtp3-1-sn1.fre.skanova.net (smtp3-1-sn1.fre.skanova.net [81.228.11.163]) by av7-1-sn1.fre.skanova.net (Postfix) with ESMTP id 0819C37E6B for ; Sun, 6 Mar 2005 23:31:19 +0100 (CET) Received: from sentinel (81-232-139-217-no23.business.telia.com [81.232.139.217]) by smtp3-1-sn1.fre.skanova.net (Postfix) with ESMTP id DADE637E47 for ; Sun, 6 Mar 2005 23:31:18 +0100 (CET) From: "Daniel Eriksson" To: Date: Sun, 6 Mar 2005 23:31:01 +0100 Organization: Home Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook, Build 11.0.6353 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527 Thread-Index: AcUinC0fhvYjCVJPTPCX6zrKBbTaVw== Subject: Dummynet traffic shaping question (TCP-ACK prioritization) X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2005 22:31:20 -0000 (question at the end) I have a server that sits on a medium speed link (10Mbit, full duplex) that under certain network loads starts to show what looks like TCP-ACK delay problems. At full upstream saturation the downstream speed is reduced. I modded the firewall rules to prioritize TCP-ACKs into one queue and all other outgoing traffic into another queue. Something like this: ${fwcmd} pipe 1 config ${fwcmd} queue 1 config pipe 1 weight 100 ${fwcmd} queue 2 config pipe 1 weight 1 # Route all outgoing TCP traffic with the ACK flag through the high priority queue ${fwcmd} add queue 1 tcp from any to any out via ${ext_if} tcpflags ack iplen 0-80 # Route all other (established) outgoing TCP traffic through the low priority queue ${fwcmd} add queue 2 tcp from any to any out via ${ext_if} established Looking at the output of 'ipfw show' seems to indicate the queues are getting the packets they should get: 00100 1738731 69778250 queue 1 tcp from any to any out via em0 tcpflags ack iplen 0-80 00200 5133634 7689253633 queue 2 tcp from any to any out via em0 established Even though everything looks OK, the results have not been what I hoped for (same problem with downstream speed during full upstream saturation). My question is: Do I need to tell the pipe how fat it is (${fwcmd} pipe 1 config bw 10Mbit/s) to get the queue prioritization to work properly, or is it OK to leave out the speed and just let it run full tilt? /Daniel Eriksson