From owner-freebsd-net@FreeBSD.ORG Sun Jan 31 07:42:23 2010 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 26666106566C for ; Sun, 31 Jan 2010 07:42:23 +0000 (UTC) (envelope-from egorenar@googlemail.com) Received: from mail-ew0-f211.google.com (mail-ew0-f211.google.com [209.85.219.211]) by mx1.freebsd.org (Postfix) with ESMTP id A38878FC13 for ; Sun, 31 Jan 2010 07:42:22 +0000 (UTC) Received: by ewy3 with SMTP id 3so255827ewy.13 for ; Sat, 30 Jan 2010 23:42:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=m6ryLEQAvZKPG4iCtqHGjAFZP5YVlDOnMFgg15kyuh8=; b=l2HOJM3ATHpkbgFyC/d4pOKdSqe5xB9qrsZfUz26OdYOLE+HgTsL1L+QkZXnnTYb/Q /ULdAymCGuE0SWvf+8StqfV6se2rmN2/Je00rAivIOs8zEqH3aEF5fcxtgBVNI7zm7mR bItZJ/Q+iIrRI+pWAc+ikOp7dM3jp5OqiJfAg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=ZN5B2ip5AciF39hA1+GjDwjbPJC8ujXQTfZSb9mAiSG69hGJl07nlHOQhXyBQVtAbx Nxj0R88sJCYDUW8ACqb20REckHTJtRPLIr7XyOGR930w2r6gpUS5kLU3cp/rJJV/fYqw yBmBK8CccTsRDTIFEAJzP5LNR/HkpZq92vZdc= MIME-Version: 1.0 Received: by 10.213.44.145 with SMTP id a17mr2670353ebf.90.1264923740721; Sat, 30 Jan 2010 23:42:20 -0800 (PST) In-Reply-To: <2d3b7e441001302334t5baa1102pdd1ee0309d32c2fd@mail.gmail.com> References: <2d3b7e441001271104j14836df4j14428d34561dead1@mail.gmail.com> <2d3b7e441001271108p2a40dbbbwaa6af9679d61ab@mail.gmail.com> <4B64FC76.5060506@errno.com> <2d3b7e441001302334t5baa1102pdd1ee0309d32c2fd@mail.gmail.com> Date: Sun, 31 Jan 2010 08:42:20 +0100 Message-ID: <2d3b7e441001302342m7e7ae704td9a7137e657018d2@mail.gmail.com> From: Alexander Egorenkov To: Sam Leffler Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-net@freebsd.org Subject: Re: A-MPDU transmission in net80211 on FreeBSD 8 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 Jan 2010 07:42:23 -0000 And i took a look into the 802.11 stack of OpenSolaris which also supports 802.11n. This 802.11n stack is very similar to the FreeBSD 802.11n stack and it assigns sequence numbers to A-MPDU frames. I did it in my device driver like 802.11n stack from OpenSolaris does it. See this link: http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/net80211/net80211_output.c Line: 211 Alex. On Sun, Jan 31, 2010 at 8:34 AM, Alexander Egorenkov < egorenar@googlemail.com> wrote: > Why doesn't 802.11 stack assign sequence numbers to A-MPDU frames ? > When sequence numbers are not assigned to A-MPDU frames, then BA doesn't > work with my AP. > I tried to assign sequence numbers to A-MPDU frames in my device driver and > then BAs worked > with my AP. > And what is meant by aggregation queue ? Where is that queue anf how do i > use it ? > > Thanks. > > > On Sun, Jan 31, 2010 at 4:43 AM, Sam Leffler wrote: > >> Alexander Egorenkov wrote: >> >>> Sorry, i posted the wrong comment. >>> Here is the comment which i don't understand: >>> >>> /* >>> * NB: don't assign a sequence # to potential >>> * aggregates; we expect this happens at the >>> * point the frame comes off any aggregation q >>> * as otherwise we may introduce holes in the >>> * BA sequence space and/or make window accouting >>> * more difficult. >>> * >>> * XXX may want to control this with a driver >>> * capability; this may also change when we pull >>> * aggregation up into net80211 >>> */ >>> >>> Thanks. >>> >> >> What is unclear? >> >> Sam >> >> >>> >>> On Wed, Jan 27, 2010 at 8:04 PM, Alexander Egorenkov < >>> egorenar@googlemail.com> wrote: >>> >>> Hi, >>>> >>>> i'm implementing a device driver for a 802.11n NIC under FreeBSD 8 >>>> und experimented with A-MPDU transmission. I looked into net80211 code >>>> and there is some code which implements this feature but it worked not >>>> very >>>> well for me. >>>> I noticed e.g. that sequence numbers are not assigned to A-MPDU frames >>>> and found this comment in file ieee80211_output.c : >>>> >>>> >>>> /* >>>> * Check if A-MPDU tx aggregation is setup or if we >>>> * should try to enable it. The sta must be associated >>>> * with HT and A-MPDU enabled for use. When the policy >>>> * routine decides we should enable A-MPDU we issue an >>>> * ADDBA request and wait for a reply. The frame being >>>> * encapsulated will go out w/o using A-MPDU, or possibly >>>> * it might be collected by the driver and held/retransmit. >>>> * The default ic_ampdu_enable routine handles staggering >>>> * ADDBA requests in case the receiver NAK's us or we are >>>> * otherwise unable to establish a BA stream. >>>> */ >>>> >>>> Can somebody elaborate this description to me please. >>>> >>>> Thanks. >>>> >>>> ALex. >>>> >>>> >>>> _______________________________________________ >>> freebsd-net@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-net >>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >>> >>> >>> >> >