Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Dec 2012 13:55:08 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Andre Oppermann <oppermann@networx.ch>
Cc:        Karim Fodil-Lemelin <fodillemlinkarim@gmail.com>, =?ISO-8859-1?Q?Ermal_Lu=E7i?= <eri@freebsd.org>, "Clement Hermann \(nodens\)" <nodens2099@gmail.com>, freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: igb and ALTQ in 9.1-rc3
Message-ID:  <CAJ-Vmokh4gBPpOf8ZxXD-6-yOeWY-FjV71jasTBH2B9gK5ubeg@mail.gmail.com>
In-Reply-To: <50C7AA58.5050909@networx.ch>
References:  <20121211075853.GU48639@FreeBSD.org> <1355231140.51621.YahooMailClassic@web121603.mail.ne1.yahoo.com> <CAPBZQG030sSLT__b4cYA2e07t-77pvv9S3f8HnZfYpsXKEqTkQ@mail.gmail.com> <50C74990.2090803@gmail.com> <CAPBZQG3d1uzyEgWK3SALiVwkaEXdCZUmkM3VZA-9QB1EsL-=JQ@mail.gmail.com> <50C79252.5000509@gmail.com> <CAJ-Vmok%2B51y-cUydawFE1yRt7uG8tmndLPZxWeMsbRPwY_mXWA@mail.gmail.com> <50C7AA58.5050909@networx.ch>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11 December 2012 13:49, Andre Oppermann <oppermann@networx.ch> wrote:

>> We -know- we need a much more generic implementation of packet queue
>> management. Someone just needs to come up with one. :-)
>
>
> As I've said earlier I'm working and cleaning up of the stack/driver
> interface and API.  It started out to better integrate the offload
> capabilities, reduce code duplication and to audit their usage in the
> drivers.  While doing that I've noticed, as others have, a couple more
> issues including the queuing problem.  So work is under way and by
> early next year a prototype for further discussion should be ready.

Sweet. Hopefully I'll have undone the rest of the if_start stuff in
net80211 by then.

I'm still stuck trying to figure out the right way to represent 802.11
fragments given how the net80211 stack was left before I inherited it.
ieee80211_fragment() creates a chain of mbufs representing the
fragment chain; I need to process those as an atomic entity rather
than a frame at a time.
Neither buf_ring nor if_queue are suitable for this.

I can serialise the frames coming into net80211 but until I figure out
a queue mechanism that lets me queue mbuf _chains_, I'll be stuck.

buf_ring is suitable with this, with some modifications (ie, checking
each mbuf is an mbuf list, rather than just calling m_freem() on the
single mbuf) but the ALQ bits kill that.

Thanks,


Adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmokh4gBPpOf8ZxXD-6-yOeWY-FjV71jasTBH2B9gK5ubeg>