All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin A. Brown" <mabrown-lartc@securepipe.com>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] Kind of curious:
Date: Sat, 08 Mar 2003 02:44:31 +0000	[thread overview]
Message-ID: <marc-lartc-104709153930799@msgid-missing> (raw)
In-Reply-To: <marc-lartc-104702266224362@msgid-missing>

Hello James,

 : Anyways I was curious if it would be possible to build my own linux
 : router for this purpose and what would I need to install - compile - or
 : patch.

[ For the record, this is not the only way, but it is one of the easiest
  ways to get into traffic control with linux, and is very well supported
  on this list. ]

  - kernel with HTB (version 3)  [ 2.4.20+, without patches ]
  - tc with HTB support:     http://luxik.cdi.cz/~devik/qos/htb/

 : I am planning on using Gentoo as the base system so I can put
 : everything I need in the Kernel as I install the system. Problem is I
 : am not sure what to add to the kernel to make this Idea possible. Or
 : even where to find a working example similar to what I want to do
 : with my router.

See the QoS kernel options.  (Search for "fair queueing" in your .config.)

 : Any pointers will be appreciated.

As usual, there are two good places to start:

  http://lartc.org/        LARTC
  http://www.docum.org/    Stef Coene's site

There are ample other resources if you have more specific questions.

 : The part 2 portion of the idea would be to have different iptables
 : rules for some of the ip ranges that don't have their bandwidth
 : limited...

What exactly do you mean here?  Do you wish to use fwmark as a selector
for traffic control?  If so, read some of Stef's docs:

  http://www.docum.org/
  http://www.docum.org/stef.coene/qos/docs/filter.html

Short answer:  Yes, you can use ipchains/iptables to mark packets and then
perform traffic control based on these marks.

 : What would I need to install/patch to build a bandwidth router? The
 : purpose of the router would be to limit sets of STATIC ip ranges to
 : various up/down speeds for testing purposes.
 :

Your example, a possibility.  Modified, with ASCII diagram:


  selected IPs      bandwidth    class
  ----------------------------------------
  192.168.2.4-9      28.8          1:2
  192.168.2.10-15    56.6k         1:3
  192.168.2.16-21    128k          1:4
  192.168.2.22-25    256k          1:5
  192.168.2.26-30    512k          1:6

  RB=real bandwidth
  r = HTB class rate
  c = HTB class ceil

Yes you can select ranges of IPs with classifiers (tc filter) and restrict
them to classes with specified bandwidths.

                HTB-root-class (1:1) -- - - - - - ->  RBkbit r  RBkbit c
                           |
    +--------+--------+--------+--------+-------+
1:7 |    1:6 |    1:5 |    1:4 |    1:3 |   1:2 |
    |        |        |        |        |       +-->  28kbit r  28kbit c
    |        |        |        |        +-- - - - ->  56kbit r  56kbit c
    |        |        |        +- - - - - - - - - -> 128kbit r 128kbit c
    |        |        +-- - - - - - - - - - - - - -> 256kbit r 256kbit c
    |        +- - - - - - - - - - - - - - - - - - -> 512kbit r 512kbit c
    +-- - - - - - - - - - - - - - - - - - - - - - -> ???kbit r  RBkbit c

Keep in mind, this is but one example of the way you could subdivide your
bandwidth.

The example above is a description of the classes and children classes
which would allow you to enforce the guidelines you have set out above.

 : Again to futher torture the client side applications we test.

But why would we want to be so vicious to the poor client?  All it's
trying to do is consume every iota of bandwidth....is that so wrong?
The client isn't evil, it's just coded that way....  ;-)

-Martin

-- 
Martin A. Brown --- SecurePipe, Inc. --- mabrown@securepipe.com

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

  reply	other threads:[~2003-03-08  2:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-07  7:35 [LARTC] Kind of curious: james jones
2003-03-08  2:44 ` Martin A. Brown [this message]
2003-03-08  3:28 ` james jones
2003-03-08  4:07 ` Martin A. Brown
2003-03-08 19:29 ` Stef Coene

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=marc-lartc-104709153930799@msgid-missing \
    --to=mabrown-lartc@securepipe.com \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.