From owner-freebsd-wireless@FreeBSD.ORG Sun Apr 14 23:28:24 2013 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 592EDB74 for ; Sun, 14 Apr 2013 23:28:24 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-wg0-f44.google.com (mail-wg0-f44.google.com [74.125.82.44]) by mx1.freebsd.org (Postfix) with ESMTP id EA7927D3 for ; Sun, 14 Apr 2013 23:28:22 +0000 (UTC) Received: by mail-wg0-f44.google.com with SMTP id a12so747148wgh.11 for ; Sun, 14 Apr 2013 16:28:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=f9q12CefjWre6QZx3FVGSxmrNtHnVsN6sHp+1H9FCG8=; b=zFbJW5tMgo5aB9kAn3O37+cs1okRtQj5ezX+2irZcmdf5WRosu6/upz0mNgAi82Uja EPF8609dfHbk6b+sdqHU3P9WiFV1qWGlohLrh74DA1c2e+MwxVTnOt6UFBQAXFssKkI1 +CUaQ5q3+zf41AxRsjcOf2xlWs3m3h+EJBeY9uPp4iHLvec9FASmPcAvyAs7ilXc5Qjm hQ6TxhuoeWlOeuzPSddaiLJtm5q3Hi7gCtW8UfIIXgM4Mw3YlPv0WtSGlbjoVzUquWMs //GgkJNt1rmF/2C+uIY/LwFj4KxsQR+3KOAJlazirs9eVbOsW1EVTZzGnFndj/t7R0Xk GkUw== MIME-Version: 1.0 X-Received: by 10.194.157.138 with SMTP id wm10mr7440117wjb.28.1365982096024; Sun, 14 Apr 2013 16:28:16 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.217.121.136 with HTTP; Sun, 14 Apr 2013 16:28:15 -0700 (PDT) In-Reply-To: References: Date: Sun, 14 Apr 2013 16:28:15 -0700 X-Google-Sender-Auth: wCkZBQWsZfKP3AdzYCPVSi278Ic Message-ID: Subject: Re: 802.11 TX Path && mesh data forwarding From: Adrian Chadd To: Monthadar Al Jaberi Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-wireless@freebsd.org X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.14 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: Sun, 14 Apr 2013 23:28:24 -0000 So what we've discussed thus far is to create another mbuf tag and use that for TX setup related material. right now the only 802.11 mbuf tag is for TX completion callback information. The rest of 802.11 state is not kept in a tag. What I'd actually like to do is to migrate the bulk of the 802.11 state into an mbuf tag (or two maybe, one for TX, one for RX) and then use that everywhere. But that can come later. I have a prototype somewhere for migrating the tx parameter information for raw transmit frames into an mbuf tag; that way ic_raw_xmit() can go away and be replaced by the driver decoding each mbuf and seeing if it's a raw frame or an 802.11 frame. If it's a raw frame then the driver start / transmit method can just call xxx_raw_xmit(). That way everything stays serialised. So if we're going to do that, we may as well stuff the mesh info in an mbuf tag (same one, or new one, it doesn't really matter.) That way we can re-inject forwarded mesh frames back into the VAP and the VAP code will have all the info it needs to resynthesise said mesh frame for transmission. that's my current handwavy idea. :-) Adrian On 14 April 2013 04:27, Monthadar Al Jaberi wrote: > Hi everyone, > > I would like to bring up an issue me and Adrian have been thinking bout for > some time now. > > It has to do with the recent TX path code re-write Adrian have been working > on and how that affects the 802.11 mesh code. And what is the best solution > for handling data frame forwarding. > > I think mesh_forward need to be refactored and modified. And basically just > after duplicating the data frame and decrementing TTL we need to queue the > frame somehow. > > This frame is an 802.11 frame that needs to go through the same low level > TX processing a frame coming down from the stack go through. > > We need to mark the mbuf containing the frame somehow so we skip some steps > in the normal TX path. Or maybe we need to add a new queue or something > similar. > > Any thoughts are much appreciated. > > -- > Monthadar Al Jaberi > _______________________________________________ > freebsd-wireless@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-wireless > To unsubscribe, send any mail to "freebsd-wireless-unsubscribe@freebsd.org"