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>