Date: Sun, 16 Oct 2005 19:59:42 +0400 From: Gleb Smirnoff <glebius@FreeBSD.org> To: Max Laier <max@love2party.net> Cc: Brian Fundakowski Feldman <green@FreeBSD.org>, freebsd-pf@FreeBSD.org Subject: Re: ALTQ and PPP access concentrator Message-ID: <20051016155942.GG14542@cell.sick.ru> In-Reply-To: <200510151639.51156.max@love2party.net> References: <20051015142431.GC14542@cell.sick.ru> <200510151639.51156.max@love2party.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 15, 2005 at 04:39:37PM +0200, Max Laier wrote: M> I agree that ALTQ configuration (esp for big setups) has some limitations and M> gotchas as is. I'd like to take the opportunity to start a discussion about M> what features are required to make it more useable. It is certainly M> interesting to look at decoupling /dev/pf and altq configuration. The end M> result would be a (in-kernel) lookup service that allows pf (or any other M> end-user of ALTQ) to lookup QIDs by interface:qname. In order to keep things M> in sync I am thinking of a eventhandler of some kind. M> M> This would allow us to keep the inlined configuration as it happens right now Yes, I agree. Some work is needed here. Except the already described obstacles, we also have dangling pointers after the interfaces had been removed: pfctl -Af /etc/altq /usr/local/etc/rc.d/mpd4.sh restart [ this creates new ifnet instances, and destroys old ones] pfctl -Af /etc/altq boom! #5 0xc06fe33a in calltrap () at /usr/src/sys/i386/i386/exception.s:139 #6 0xc05c1b91 in turnstile_setowner (ts=0xc1867dc0, owner=0x2839ea60) at /usr/src/sys/kern/subr_turnstile.c:417 #7 0xc05c1e94 in turnstile_wait (lock=0xc1cba10c, owner=0x2839ea60) at /usr/src/sys/kern/subr_turnstile.c:576 #8 0xc0598968 in _mtx_lock_sleep (m=0xc1cba10c, tid=0xc1c544e0, opts=0x0, file=0x0, line=0x0) at /usr/src/sys/kern/kern_mutex.c:553 #9 0xc045fe0e in priq_class_destroy (cl=0xc1bb6dc0) at /usr/src/sys/contrib/altq/altq/altq_priq.c:416 #10 0xc045fa7a in priq_clear_interface (pif=0xc1c45400) at /usr/src/sys/contrib/altq/altq/altq_priq.c:252 #11 0xc045f910 in priq_remove_altq (a=0xc1867dc0) at /usr/src/sys/contrib/altq/altq/altq_priq.c:161 #12 0xc0463290 in altq_remove (a=0xc1867dc0) at /usr/src/sys/contrib/altq/altq/altq_subr.c:647 #13 0xc048d72e in pf_commit_altq (ticket=0xc1c54500) at /usr/src/sys/contrib/pf/net/pf_ioctl.c:1116 #14 0xc04910e7 in pfioctl (dev=0xc1711400, cmd=0x4, addr=0x0, flags=0x3, td=0xc1c54500) M> (just a little rewriting in pfctl), but enable easy changes for interfaces M> coming late. mpd would just trigger necessary altq-configuration from its M> UP-script. Actually I am dreaming to implement a RADIUS bandwidth management for mpd. In this case ALTQ configuration needs to be changed when the user logs in, for the interface he came. -- Totus tuus, Glebius. GLEBIUS-RIPN GLEB-RIPE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051016155942.GG14542>