Date: Thu, 15 Mar 2007 11:08:39 +0100 From: =?iso-8859-2?Q?Ale=B9_Krajn=EDk?= <Ales.Krajnik@mediafactory.cz> To: <freebsd-pf@freebsd.org> Subject: Setting bandwidth for multiple internal subnets + few more PF questions Message-ID: <66CE3CD196F5C24F9CDE33A03E0FB4113A7EEF@exbox.office.a24media.cz>
next in thread | raw e-mail | index | archive | help
Hello, =20 I have a problem with PF and I would appreciate any help. I spent few = hours googling around but found no solution. =20 We have a FreeBSD 6.1 router with 4 internal subnets on 4 interfaces = (em1, fxp0, fxp1, xl0), 1 connection to the Internet (em0) - 10Mbps both = directions, full duplex. What we need is to shape traffic so em1 + fxp1 = , fxp0 and xl0 uses equally 33% of traffic, in both incoming and = outgoing directions from the Internet (incoming direction is more = important for us as we don't have almost any servers inside our network = except for HTTP for development purpose so mostly we download data from = the Internet). Traffic between local subnets should stay unlimited. =20 That should not be problem - we could just set 3.33Mbps on each = interface for packets arriving from the Internet. What we cannot solve = is how to set that each interface could borrow bandwidth from other = interfaces (=3D from parent stream) if they are not fully utilised? =20 If I set ALTQ on the external interface, I can control only outgoing = traffic to the Internet (I made that work successfully). If I set ALTQ = on any of the internal interfaces I cannot set it to borrow from each = other. Setting ALTQ on multiple interfaces is not supported AFAIK. Is = there any solution? Can that be solved with packet tagging? =20 Another thing I do not completely understand is setting ALTQ rules on = interfaces. I just want to make it clear to myself. If I set ALTQ on an = interface, it means that packets are being dropped on the chosen = interface? If I set queue on an interface, it means that packets are = added to that queue if and only if the rule is evaluated on the chosen = interface? For example if I would have rules "queue Q on em0 ..." and = "pass in on em1 ... queue Q", what would that do? =20 My last question - I read TCP ACK packets prioritizing can increase = incoming throughput. Does that make sense on fast internet connections = like is ours or is it useful only for e.g. dial-up connections? I would = use following ALTQ settings: =20 ALTQ on $lan_ex bandwidth 10Mb cbq { queue_std, = queue_ack } queue queue_std on $lan_ex bandwidth 99% = cbq(default) queue queue_ack on $lan_ex bandwidth 1% =20 ... and create a TCP/ACK rule on $lan_ex with queue_ack =20 Thanks in advance for your help! =20 Ales Krajnik
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?66CE3CD196F5C24F9CDE33A03E0FB4113A7EEF>