Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Sep 2015 17:11:27 +0300
From:      "Andriy Voskoboinyk" <s3erios@gmail.com>
To:        "Gleb Smirnoff" <glebius@freebsd.org>
Cc:        "Lawrence Stewart" <lstewart@freebsd.org>, "Adrian Chadd" <adrian@freebsd.org>, "net@freebsd.org" <net@freebsd.org>
Subject:   Re: mbufq-less iwn(4)
Message-ID:  <op.x4d4ddkxiew4ia@localhost>
In-Reply-To: <20150902060324.GF1023@glebius.int.ru>
References:  <20150901112043.GB1023@glebius.int.ru> <CAJ-Vmokn91fHQyg-AGqCgccRoMS89TuWpQ9RuxL%2B9nmgt%2BX2kQ@mail.gmail.com> <20150902060324.GF1023@glebius.int.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
>   Adrian,
>
> On Tue, Sep 01, 2015 at 12:33:53PM -0700, Adrian Chadd wrote:
> A> We have to do mbuf queues in drivers for wifi, because of 11n
> A> aggregation. So on one hand we want to have if_transmit() apply
> A> backpressure through the stack, but there's also going to be some
> A> buffering. :P
>
> No, that's not because of 11n aggregation. That's a remnant of
> ifnet ifqueue. Note that I'm speaking about queueing in drivers,
> not in net80211 stack. Look at the iwn patch, it doesn't remove
> any functionality except of enqueueing and dequeueing.
>
> Look at your own ath(4) - there is no software queue there already :)
>
> A> I'd like to see that for ic_transmit().
> A>
> A> Other thing - ic_transmit() also needs to handle fragments, like I do
> A> with ath. Ie, handing it a list of packets is actually a list of
> A> 802.11 fragments, rather than separate MPDUs.
> A>
> A> Another thing - we're modifying the mbufs (adding 802.11 data to it)
> A> before we pass them to the driver, and if the driver fails to
> A> transmit, we can't just pass it back up the net80211 stack to the tcp
> A> or udp layer..
>
> Sure, stack probably would need to strip the data. Anyway, that's
> a future task.
>

What about https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193569 ?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.x4d4ddkxiew4ia>