From owner-freebsd-wireless@FreeBSD.ORG Tue Feb 14 08:19:41 2012 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCB561065672 for ; Tue, 14 Feb 2012 08:19:41 +0000 (UTC) (envelope-from monthadar@gmail.com) Received: from mail-iy0-f182.google.com (mail-iy0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id 8A7FA8FC16 for ; Tue, 14 Feb 2012 08:19:41 +0000 (UTC) Received: by iaeo4 with SMTP id o4so6864965iae.13 for ; Tue, 14 Feb 2012 00:19:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=XTQtBtP7YtDqXhuwJRGtub/bh5/IHta68RBPLn+ruXw=; b=JhXW6ni7OGZfFF3aNcnYqhvKv1koqlwBWIWz52N4FEt58J93UYO39NUMWsPP0NKsvC FkTbUx5QNC6dv+UOHds2hdnC0bpwtyQu73oWLuUS1wt0A9LONWOaEEXWdv2C8tCOvfwb 7PSuceje9bbKEzdRLkm9qMW1AqGIgQjaiI9QM= MIME-Version: 1.0 Received: by 10.42.80.3 with SMTP id t3mr26124285ick.49.1329207581013; Tue, 14 Feb 2012 00:19:41 -0800 (PST) Received: by 10.50.213.74 with HTTP; Tue, 14 Feb 2012 00:19:40 -0800 (PST) Date: Tue, 14 Feb 2012 09:19:40 +0100 Message-ID: From: Monthadar Al Jaberi To: freebsd-wireless@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: Fragment number of first fragment != 0 X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Feb 2012 08:19:41 -0000 Hi, I found that in FreeBSD current the first fragment will have a fragment number = 1 in function ieee80211_fragment. But according to 802.11-2007, 9.4 Fragmentation page 279: "...The fragments shall be sent in order of lowest fragment number to highest fragment number, where the fragment number value starts at zero, ..." This also holds on the 802.11-2011 draft 12: "The fragment number is set to 0 in the first or only fragment of an MSDU or MMPDU and is incremented by one for each successive fragment of that MSDU or MMPDU." I checked Linux 3.3-rc3 code and there I see them having a check on rx side if (frag == 0) { /* This is the first fragment of a new frame. */ and on tx side they put: fragnum = 0; On Madwifi 0.9.4 in function ieee80211_encap: fragnum = 0; So should we change our fragno to be 0? br, -- Monthadar Al Jaberi