Linux Advanced Routing and Traffic Control list
 help / color / mirror / Atom feed
From: Anton Tinchev <atl@top.bg>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] Traffic balancing by IP.
Date: Mon, 31 Dec 2001 08:22:56 +0000	[thread overview]
Message-ID: <marc-lartc-100978697520698@msgid-missing> (raw)
In-Reply-To: <marc-lartc-100920110710960@msgid-missing>

1. I recommend you to get the HTB. http://luxik.cdi.cz/~devik/qos/htb/htbman.htm
then try the following configuration:

If you have 4 connections and 2Mbit/s incoming
The ceil value is 2Mbit/s, the rate is 2Mbit/s / 4 - 512Kbit
------------------------------------------------
tc qdisc add dev eth1 root handle 1: htb


# Luzerta  - tuka e slozno mai

tc class add dev eth1 parent 1:0 classid 1:1  htb rate 512Kbit ceil   2Mbit burst
10k cburst   5k prio
tc class add dev eth1 parent 1:0 classid 1:2  htb rate 512Kbit ceil   2Mbit burst
10k cburst   5k prio
tc class add dev eth1 parent 1:0 classid 1:3  htb rate 512Kbit ceil   2Mbit burst
10k cburst   5k prio
tc class add dev eth1 parent 1:0 classid 1:4  htb rate 512Kbit ceil   2Mbit burst
10k cburst   5k prio


tc qdisc add dev eth1 parent 1:1 handle 110: sfq perturb 10
tc qdisc add dev eth1 parent 1:2 handle 120: sfq perturb 10
tc qdisc add dev eth1 parent 1:3 handle 130: sfq perturb 10
tc qdisc add dev eth1 parent 1:4 handle 130: sfq perturb 10


#Filters - using lw - marking packets for IP's
tc filter add dev eth1 parent 1:0 protocol ip prio 10 handle 101 fw flowid 1:1
tc filter add dev eth1 parent 1:0 protocol ip prio 10 handle 102 fw flowid 1:2
tc filter add dev eth1 parent 1:0 protocol ip prio 10 handle 103 fw flowid 1:3
tc filter add dev eth1 parent 1:0 protocol ip prio 10 handle 104 fw flowid 1:4

# OR Filters - using u32
#tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.1
flowid 1:1
#tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.2
flowid 1:2
#tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.3
flowid 1:3
#tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.4
flowid 1:4
------------------------------------------
This will balance the traffic in following way:
 - Whe 1 IP downloading - 2Mbit/s for that IP
 - When all IP's downloading - 2Mbit/s / 4 (512Kbit/s) for each
 - When 3 IP's downloading  - 2Mbit/s / 3 (~683Kbit/s) for each
Don Cohen wrote:

> Sorry, I'm a little behind here, trying to catch up
>
>   From: "Dmitri Gofmekler" <dmitri@arvid.ee>
>   To: <lartc@mailman.ds9a.nl>
>   Date: Mon, 24 Dec 2001 15:38:13 +0200
>
>   As far as I know that the traffic that will pass thru the router is balanced
>   so that all connections have the same privilegies. Is it possible to
>   configure the linux based router so that all computers will have the same
>   privilegies? I mean that if in default case full traffic is splitted by
>   connections, so I need to split it by users to prevent one user occupy all
>   traffic by starting 150 simulations downloads with FlashGET for example, but
>   he should be able to occupy all channel if no one else require the traffic
>   this time.
>
> My interpretation is that you have one link shared among multiple
> computers that can be distinguished by their IP addresses and you
> want to share the link fairly among those computers.
> There is no current out-of-the-box solution that I know of but this
> is so similar to SFQ that you can make the change very easily.
> SFQ offers fair service to "flows" defined by source/dest IP/port.
> You just want to change that to destination IP for packets coming in
> from the internet, and source address for packets going out to the
> internet.  If you look at the SFQ code there's a hash function that
> looks at ports and IP addresses.  I propose two variants, one of which
> comments out all but the destination IP address, the other comments
> out all but the source IP address.
> You can use the version that looks at the source at the interfaces
> going out to the internet and the version that looks at the
> destination at interfaces going to the local networks.
> I hope that makes sense.
>
> _______________________________________________
> LARTC mailing list / LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/lartc/


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

  parent reply	other threads:[~2001-12-31  8:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-12-24 13:38 [LARTC] Traffic balancing by IP Dmitri Gofmekler
2001-12-24 13:47 ` Stef Coene
2001-12-24 14:36 ` Dmitri Gofmekler
2001-12-24 14:45 ` Martin Devera
2001-12-24 14:48 ` Dmitri Gofmekler
2001-12-24 15:09 ` Michael T. Babcock
2001-12-24 15:16 ` Michael T. Babcock
2001-12-30 20:02 ` Don Cohen
2001-12-31  8:22 ` Anton Tinchev [this message]
2002-01-01  8:45 ` Anton Tinchev

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-100978697520698@msgid-missing \
    --to=atl@top.bg \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox