Re: inbound queueing on external interface due to multiple internal interfaces
Andy Lemin <[email protected]> Thu, 12 Apr 2012 02:48:52 -0700 (PDT)
| Newsgroups | gmane.os.openbsd.pf |
|---|---|
| Organization | http://groups.google.com |
| Message-ID | <15148653.742.1334224132168.JavaMail.geo-discussion-forums@ynjn4> |
Hi, thanks very much for your suggestion. > You will want to see this thread: > Working example of bi-directional asymmetric ALTQ + NAT ruleset? > http://marc.info/?t=3D129472965800001&r=3D1&w=3D2 >=20 > It talks about being able to have a single queue > on more than one interface, so you'd use a single > outbound queue on all your internal interfaces to > effectively rate-limit your inbound wan traffic. I read through that archive but the problem it seems to be discussing seems= pretty trivial as its discussing semantics of queuing downstream traffic w= hich you just do by queuing on the internal interface (which works perfectl= y if you only have one internal interface). It does suggest creating a queue structure without assigning a specific int= erface as you suggest, however when you do this I believe PF simply creates= copy's of the queue structure and creates instances per interfaces? I.e. t= he different interfaces are not sharing the same physical queue in memory. = Is this true? I need to be able to perform downstream queuing pre-routing effectively so = that all the downstream traffic (regardless of the internal zone) is all qu= eued equally as one, allowing all internal interfaces to share the total do= wnstream bandwidth. > If sharing a queue on your internal=20 > interfaces does not do it you could get ugly and > use an extra 2 real interfaces (instead of the loopback interface > as you suggest) and a separate routing table and physically > loop the traffic back. This is less ugly than having another box. Sadly we don't have enough ports/slots on our firewall to add a physical lo= op back and so it has to be a virtual interface :( > I suspect the loopback interface approach won't work, but that's > a total guess. If it does work I'm not sure I'd want > to count on such a kludge continuing to work long-term. Can you tell me why you feel it's a hack to do it using a virtual interface= (assuming it works)? It seems like a legitimate solution for queuing downstream traffic pre-rout= ing (altq processing is done during the last stage of egress processing) as= this would allow you to define unique downstream queues on any/multiple so= urces (WAN or VPN) etc. Or do you think it would be better to allow multiple internal interfaces to= share the same physical queue in memory? Whilst its an ALTQ thing, I would assume both solutions would be best imple= mented in PF? I'm just looking for ideas to try as I'm genuinely surprised BSD can't do t= his :( > I'm very interested in what works and what doesn't so > it would be good to hear back from you. Yes I'll keep my progress posted, as I know their are a lot of other people= out there who also want this functionality considering the number of threa= ds I have come across on this, some dating back years. > Don't forget the "empty" ack packets. Indeed ;) > > If we had to bounty this, how much? I might be able to get =3DA3100 for > > a > > bounty? >=20 > I heard the number $20,000 (US) thrown around. I have no idea if > that's a realistic number. >=20 That's a little out of my budget of a few hundred dollars! :( Cheers for your time, Andy.