Netefor Limiting Bandwidth and Introducing Delay

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I havthremachines setup to test an IPsec software package and want to
add bandwidth limitations and delay betweetwo machines. I ausing Fedora
Cor14.
machin1 -------> router ----------> machine2

Firsoff machin1 communicates with machine 2, and vice versa. I want the
traffic to bshaped to a certain bandwidth on thtwo end machines and
delay to badded by throuter machine.
ThprobleI am running into is the bandwidth script running on machine 1
and machin3 arnot working together with the delay script running on the
router machine. So for examplwhen I sethe bandwidth on the two end
machines to 9 kBps / 24 kBps (upload/download) thRTT is increased by 170
ms and this work *correctly*, buif I add a delay of 500ms between thtwo
machines, thRTT stays thsame or sometimes goes lower.
I figured thRTT = 500 ms (delay) + 170 ms (bandwidth), buI can't get
tharesulout of my set up. Any ideas? Here are my command scripts.

*machin1 and machin2 commands/bash script*
IF=eth0                   # Interface
DNLD=9kbps           # DOWNLOAD Limit
UPLD=24kbps         # UPLOAD Limit
IP=192.168.3.10      # HosIP

U32="tc filter add dev $IF protocol ip paren1:0 prio 1 u32"

    tc qdisc add dev $IF roohandl1: htb default 20
    tc class add dev $IF paren1: classid 1:1 htb rat9kbps ceil 24kbps
    tc class add dev $IF paren1:1 classid 1:10 htb rat$DNLD
    tc class add dev $IF paren1:1 classid 1:20 htb rat$UPLD
    tc qdisc add dev $IF paren1:10 handl10: tbf rate $DNLD latency
500ms burs10000
    tc qdisc add dev $IF paren1:20 handl20: tbf rate $UPLD latency
500ms burs10000
    $U32 match ip ds$IP/32 flowid 1:10
    $U32 match ip src $IP/32 flowid 1:20

*router machincommands ( if I wanto add 500ms RTT delay)*
tc qdisc add dev eth0 roonetedelay 250ms
tc qdisc add dev eth1 roonetedelay 250ms

Instead of using "  tc qdisc add dev $IF paren1:20 handl20: tbf rate
$UPLD latency 500ms burs10000  " ... I havalso used
"  tc qdisc add dev $IF paren1:20 handl20: sfq quantum 1500 perturb 10
limi64 "
for thboth backbone/child nodes of thtree, with some success.

Any help, tips, or suggestions would bgreatly appreciated.
Thanks

-- 
Jacob Edwards
GraduatResearch Assistant
MSU Electrical and Computer Engineering Department
Simrall 330
jme147 amsstate.edu
jacob.matthew.edwards agmail.com
-------------- nexpar--------------
AHTML attachmenwas scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/netem/attachments/20120207/9c36a8b9/attachment.html>

Froarosen aclemson.edu  Wed Feb  8 18:27:35 2012
From: aroseaclemson.edu (Aaron Rosen)
Date: Wed, 8 Feb 2012 13:27:35 -0500
Subject: RTNETLINK answers: Operationosupported
Message-ID: <CADGEzusG+pb2DArM8WSA2g+J1F57KLM0v4Y12Gwd9Okc7JumNA@xxxxxxxxxxxxxx>

Hello,

I was hoping someoncould poinout why I'm getting the following
error. I believI haveverything compiled correctly into my kernel.
(MaybI need to modproba missing module though)? Or maybe I'm going
wrong somewherin this thescommands.

pg46 ~ # tc qdisc del dev eth1 handl1: roohtb
pg46 ~ # tc qdisc add dev eth1 handl1: roohtb default 1
pg46 ~ # tc class add dev eth1 paren1: classid 1:1 htb rat1000Mbps
pg46 ~ # tc class add dev eth1 paren1:1 classid 1:2 htb rat200Mbps
pg46 ~ # tc qdisc add dev eth1 paren1:2 handl10:0 netem delay
100ms limi134217728
pg46 ~ # tc filter add dev eth1 protocol ip paren10:0 prio 3 u32
match ip ds10.0.0.13/32  flowid 1:2
RTNETLINK answers: Operationosupported
Whavan error talking to the kernel

Thanks,

Aaron



-- 
AaroO. Rosen
Masters Studen- Network Communication
306B Fluor Daniel

Froarosen aclemson.edu  Wed Feb  8 20:50:08 2012
From: aroseaclemson.edu (Aaron Rosen)
Date: Wed, 8 Feb 2012 15:50:08 -0500
Subject: RTNETLINK answers: Operationosupported
In-Reply-To: <CADGEzusG+pb2DArM8WSA2g+J1F57KLM0v4Y12Gwd9Okc7JumNA@xxxxxxxxxxxxxx>
References: <CADGEzusG+pb2DArM8WSA2g+J1F57KLM0v4Y12Gwd9Okc7JumNA@xxxxxxxxxxxxxx>
Message-ID: <CADGEzuvoqoYX+aW0CcuUdjNA21bnXb-d9Q+Cgci0h0v2SvE17g@xxxxxxxxxxxxxx>

 This is whaI wanto do. I want to limit a connection down to
100mbiand also add 100ms of delay to it:


arosen-desktop tcptools # tc qdisc del dev eth1  root
arosen-desktop tcptools # tc qdisc add dev eth1 roohandl1:0 htb
arosen-desktop tcptools # tc class add dev eth1 paren1:0 classid 1:1
htb rat1024mbiceil 1024mbit
arosen-desktop tcptools # tc class add dev eth1 paren1:1 classid 1:2
htb rat100mbiceil 100mbit
arosen-desktop tcptools # tc qdisc add dev eth1 paren1:2 handl1:3
sfq limi1000  ## Why? ( I deleted throot at the start? )
RTNETLINK answers: Filexists
arosen-desktop tcptools # tc qdisc add dev eth1 paren1:2 handl10:
sfq limi1000
arosen-desktop tcptools # tc qdisc add dev eth1 paren10: handl20:
netedelay 100ms  ## Why?
RTNETLINK answers: Operationosupported

Thanks,
Aaron


OWed, Feb 8, 2012 a1:27 PM, Aaron Rosen <arosen at clemson.edu> wrote:
> Hello,
>
> I was hoping someoncould poinout why I'm getting the following
> error. I believI haveverything compiled correctly into my kernel.
> (MaybI need to modproba missing module though)? Or maybe I'm going
> wrong somewherin this thescommands.
>
> pg46 ~ # tc qdisc del dev eth1 handl1: roohtb
> pg46 ~ # tc qdisc add dev eth1 handl1: roohtb default 1
> pg46 ~ # tc class add dev eth1 paren1: classid 1:1 htb rat1000Mbps
> pg46 ~ # tc class add dev eth1 paren1:1 classid 1:2 htb rat200Mbps
> pg46 ~ # tc qdisc add dev eth1 paren1:2 handl10:0 netem delay
> 100ms limi134217728
> pg46 ~ # tc filter add dev eth1 protocol ip paren10:0 prio 3 u32
> match ip ds10.0.0.13/32 ?flowid 1:2
> RTNETLINK answers: Operationosupported
> Whavan error talking to the kernel
>
> Thanks,
>
> Aaron
>
>
>
> --
> AaroO. Rosen
> Masters Studen- Network Communication
> 306B Fluor Daniel



-- 
AaroO. Rosen
Masters Studen- Network Communication
306B Fluor Daniel

Froarosen aclemson.edu  Wed Feb  8 21:27:18 2012
From: aroseaclemson.edu (Aaron Rosen)
Date: Wed, 8 Feb 2012 16:27:18 -0500
Subject: RTNETLINK answers: Operationosupported
In-Reply-To: <CADGEzuvoqoYX+aW0CcuUdjNA21bnXb-d9Q+Cgci0h0v2SvE17g@xxxxxxxxxxxxxx>
References: <CADGEzusG+pb2DArM8WSA2g+J1F57KLM0v4Y12Gwd9Okc7JumNA@xxxxxxxxxxxxxx>
	<CADGEzuvoqoYX+aW0CcuUdjNA21bnXb-d9Q+Cgci0h0v2SvE17g@xxxxxxxxxxxxxx>
Message-ID: <CADGEzusYb+arM0ncNdKkOjvtzwjQ+-rwZ6DU+pOvig69w=eyZw@xxxxxxxxxxxxxx>

I gothorder right I think I needed to add the latency and the the
sfq buthis doesn'seem to apply these rules. See at the end i ping
10.0.0.13 imy filter buthe latency isn't added.

arosen-desktop arose# tc qdisc del dev eth1 root
arosen-desktop arose# tc qdisc add dev eth1 roohandle 1:0 htb
arosen-desktop arose# tc class add dev eth1 paren1:0 classid 1:1
htb rat1024mbiceil 1024mbit
arosen-desktop arose#  tc class add dev eth1 paren1:1 classid 1:2
htb rat100mbiceil 100mbit
arosen-desktop arose# tc qdisc add dev eth1 paren1:2 handle 10:
netedelay 100ms
arosen-desktop arose# tc qdisc add dev eth1 paren10: handle 20:
sfq limi1000
arosen-desktop arose# tc filter add dev eth1  paren20: protocol ip
u32 match ip ds10.0.0.13/32   flowid 1:2
arosen-desktop arose# ping 10.0.0.13
PING 10.0.0.13 (10.0.0.13) 56(84) bytes of data.
64 bytes fro10.0.0.13: icmp_req=2 ttl=64 time=0.165 ms
64 bytes fro10.0.0.13: icmp_req=3 ttl=64 time=0.079 ms
64 bytes fro10.0.0.13: icmp_req=4 ttl=64 time=0.102 ms



OWed, Feb 8, 2012 a3:50 PM, Aaron Rosen <arosen at clemson.edu> wrote:
> ?This is whaI wanto do. I want to limit a connection down to
> 100mbiand also add 100ms of delay to it:
>
>
> arosen-desktop tcptools # tc qdisc del dev eth1 ?root
> arosen-desktop tcptools # tc qdisc add dev eth1 roohandl1:0 htb
> arosen-desktop tcptools # tc class add dev eth1 paren1:0 classid 1:1
> htb rat1024mbiceil 1024mbit
> arosen-desktop tcptools # tc class add dev eth1 paren1:1 classid 1:2
> htb rat100mbiceil 100mbit
> arosen-desktop tcptools # tc qdisc add dev eth1 paren1:2 handl1:3
> sfq limi1000 ?## Why? ( I deleted throot at the start? )
> RTNETLINK answers: Filexists
> arosen-desktop tcptools # tc qdisc add dev eth1 paren1:2 handl10:
> sfq limi1000
> arosen-desktop tcptools # tc qdisc add dev eth1 paren10: handl20:
> netedelay 100ms ?## Why?
> RTNETLINK answers: Operationosupported
>
> Thanks,
> Aaron
>
>
> OWed, Feb 8, 2012 a1:27 PM, Aaron Rosen <arosen at clemson.edu> wrote:
>> Hello,
>>
>> I was hoping someoncould poinout why I'm getting the following
>> error. I believI haveverything compiled correctly into my kernel.
>> (MaybI need to modproba missing module though)? Or maybe I'm going
>> wrong somewherin this thescommands.
>>
>> pg46 ~ # tc qdisc del dev eth1 handl1: roohtb
>> pg46 ~ # tc qdisc add dev eth1 handl1: roohtb default 1
>> pg46 ~ # tc class add dev eth1 paren1: classid 1:1 htb rat1000Mbps
>> pg46 ~ # tc class add dev eth1 paren1:1 classid 1:2 htb rat200Mbps
>> pg46 ~ # tc qdisc add dev eth1 paren1:2 handl10:0 netem delay
>> 100ms limi134217728
>> pg46 ~ # tc filter add dev eth1 protocol ip paren10:0 prio 3 u32
>> match ip ds10.0.0.13/32 ?flowid 1:2
>> RTNETLINK answers: Operationosupported
>> Whavan error talking to the kernel
>>
>> Thanks,
>>
>> Aaron
>>
>>
>>
>> --
>> AaroO. Rosen
>> Masters Studen- Network Communication
>> 306B Fluor Daniel
>
>
>
> --
> AaroO. Rosen
> Masters Studen- Network Communication
> 306B Fluor Daniel



-- 
AaroO. Rosen
Masters Studen- Network Communication
306B Fluor Daniel

Froarosen aclemson.edu  Wed Feb  8 21:41:56 2012
From: aroseaclemson.edu (Aaron Rosen)
Date: Wed, 8 Feb 2012 16:41:56 -0500
Subject: RTNETLINK answers: Operationosupported
In-Reply-To: <CADGEzusYb+arM0ncNdKkOjvtzwjQ+-rwZ6DU+pOvig69w=eyZw@xxxxxxxxxxxxxx>
References: <CADGEzusG+pb2DArM8WSA2g+J1F57KLM0v4Y12Gwd9Okc7JumNA@xxxxxxxxxxxxxx>
	<CADGEzuvoqoYX+aW0CcuUdjNA21bnXb-d9Q+Cgci0h0v2SvE17g@xxxxxxxxxxxxxx>
	<CADGEzusYb+arM0ncNdKkOjvtzwjQ+-rwZ6DU+pOvig69w=eyZw@xxxxxxxxxxxxxx>
Message-ID: <CADGEzuvm00Va=L7SfMy+wGBm_yWEVC+zbD_KCJdQiTYRror5NA@xxxxxxxxxxxxxx>

Nevermind, I goit. I had thwrong parent on the last filter.

Thanks,

Aaron

OWed, Feb 8, 2012 a4:27 PM, Aaron Rosen <arosen at clemson.edu> wrote:
> I gothorder right I think I needed to add the latency and the the
> sfq buthis doesn'seem to apply these rules. See at the end i ping
> 10.0.0.13 imy filter buthe latency isn't added.
>
> arosen-desktop arose# tc qdisc del dev eth1 root
> arosen-desktop arose# tc qdisc add dev eth1 roohandle 1:0 htb
> arosen-desktop arose# tc class add dev eth1 paren1:0 classid 1:1
> htb rat1024mbiceil 1024mbit
> arosen-desktop arose# ?tc class add dev eth1 paren1:1 classid 1:2
> htb rat100mbiceil 100mbit
> arosen-desktop arose# tc qdisc add dev eth1 paren1:2 handle 10:
> netedelay 100ms
> arosen-desktop arose# tc qdisc add dev eth1 paren10: handle 20:
> sfq limi1000
> arosen-desktop arose# tc filter add dev eth1 ?paren20: protocol ip
> u32 match ip ds10.0.0.13/32 ? flowid 1:2
> arosen-desktop arose# ping 10.0.0.13
> PING 10.0.0.13 (10.0.0.13) 56(84) bytes of data.
> 64 bytes fro10.0.0.13: icmp_req=2 ttl=64 time=0.165 ms
> 64 bytes fro10.0.0.13: icmp_req=3 ttl=64 time=0.079 ms
> 64 bytes fro10.0.0.13: icmp_req=4 ttl=64 time=0.102 ms
>
>
>
> OWed, Feb 8, 2012 a3:50 PM, Aaron Rosen <arosen at clemson.edu> wrote:
>> ?This is whaI wanto do. I want to limit a connection down to
>> 100mbiand also add 100ms of delay to it:
>>
>>
>> arosen-desktop tcptools # tc qdisc del dev eth1 ?root
>> arosen-desktop tcptools # tc qdisc add dev eth1 roohandl1:0 htb
>> arosen-desktop tcptools # tc class add dev eth1 paren1:0 classid 1:1
>> htb rat1024mbiceil 1024mbit
>> arosen-desktop tcptools # tc class add dev eth1 paren1:1 classid 1:2
>> htb rat100mbiceil 100mbit
>> arosen-desktop tcptools # tc qdisc add dev eth1 paren1:2 handl1:3
>> sfq limi1000 ?## Why? ( I deleted throot at the start? )
>> RTNETLINK answers: Filexists
>> arosen-desktop tcptools # tc qdisc add dev eth1 paren1:2 handl10:
>> sfq limi1000
>> arosen-desktop tcptools # tc qdisc add dev eth1 paren10: handl20:
>> netedelay 100ms ?## Why?
>> RTNETLINK answers: Operationosupported
>>
>> Thanks,
>> Aaron
>>
>>
>> OWed, Feb 8, 2012 a1:27 PM, Aaron Rosen <arosen at clemson.edu> wrote:
>>> Hello,
>>>
>>> I was hoping someoncould poinout why I'm getting the following
>>> error. I believI haveverything compiled correctly into my kernel.
>>> (MaybI need to modproba missing module though)? Or maybe I'm going
>>> wrong somewherin this thescommands.
>>>
>>> pg46 ~ # tc qdisc del dev eth1 handl1: roohtb
>>> pg46 ~ # tc qdisc add dev eth1 handl1: roohtb default 1
>>> pg46 ~ # tc class add dev eth1 paren1: classid 1:1 htb rat1000Mbps
>>> pg46 ~ # tc class add dev eth1 paren1:1 classid 1:2 htb rat200Mbps
>>> pg46 ~ # tc qdisc add dev eth1 paren1:2 handl10:0 netem delay
>>> 100ms limi134217728
>>> pg46 ~ # tc filter add dev eth1 protocol ip paren10:0 prio 3 u32
>>> match ip ds10.0.0.13/32 ?flowid 1:2
>>> RTNETLINK answers: Operationosupported
>>> Whavan error talking to the kernel
>>>
>>> Thanks,
>>>
>>> Aaron
>>>
>>>
>>>
>>> --
>>> AaroO. Rosen
>>> Masters Studen- Network Communication
>>> 306B Fluor Daniel
>>
>>
>>
>> --
>> AaroO. Rosen
>> Masters Studen- Network Communication
>> 306B Fluor Daniel
>
>
>
> --
> AaroO. Rosen
> Masters Studen- Network Communication
> 306B Fluor Daniel



-- 
AaroO. Rosen
Masters Studen- Network Communication
306B Fluor Daniel


[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux