Hi,
I'm trying to get my head round Queue'ing / Atlq and have read
(http://www.openbsd.org/faq/pf/queueing.html).
We are getting a Gigabit connection to the local internet peering exchange, and
I would like to offer other tenants in our building internet access to help
offset our costs.
What I plan to do is offer 4 users the following, 2Mb International with burst
to 10Mb, 5Mb National with burst to 20Mb, and 25Mb Local IX burst to 100Mb.
Can I do this with the following rules, (assuming similar rules for inbound
traffic (outbound on the internal NIC))?
altq on ext0 cbq bandwidth 1Gb queue { intl_ext, nat_ext, ix_ext }
queue intl_ext bandwidth 10Mb { intl_ext_pool1 }
queue int_ext_pool1 10Mb { intl_ext_pool1_usr1, intl_ext_pool1_usr2,
intl_ext_pool1_usr3, intl_ext_pool1_usr4 }
intl_ext_pool1_usr1 2Mb cbq(borrow)
intl_ext_pool1_usr2 2Mb cbq(borrow)
intl_ext_pool1_usr3 2Mb cbq(borrow)
intl_ext_pool1_usr4 2Mb cbq(borrow)
queue nat_ext bandwidth 20Mb { nat_ext_pool1 }
queue nat_ext_pool1 20Mb { nat_ext_pool1_usr1, nat_ext_pool1_usr2,
nat_ext_pool1_usr3, nat_ext_pool1_usr4 }
nat_ext_pool1_usr1 5Mb cbq(borrow)
nat_ext_pool1_usr2 5Mb cbq(borrow)
nat_ext_pool1_usr3 5Mb cbq(borrow)
nat_ext_pool1_usr4 5Mb cbq(borrow)
que ix_ext 100Mb { ix_ext_pool1 }
ix_ext_pool1 100Mb { ix_ext_pool1_usr1, ix_ext_pool1_usr2,
ix_ext_pool1_usr3, ix_ext_pool1_usr4 }
ix_ext_pool1_usr1 25Mb cbq(borrow)
ix_ext_pool1_usr2 25Mb cbq(borrow)
ix_ext_pool1_usr3 25Mb cbq(borrow)
ix_ext_pool1_usr4 25Mb cbq(borrow)
Assuming the queue's are matched by using some BGP route magic (to determine if
connection is Local IX, National, or International), and the user's local
subnet, (assuming a /29 for each local user).
Does this make sense? Am I approaching things the right way? Is there any
particular material I should be reading up on?
Cheers
Liam