All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] Ingress utilization problem
@ 2002-05-31 10:16 Mr SERBAN Rares
  2002-05-31 11:44 ` Alexey Talikov
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Mr SERBAN Rares @ 2002-05-31 10:16 UTC (permalink / raw)
  To: lartc

Hi,
 
I have one router with 4 interfaces:
 
                           Input1
                         /
               out - R - Input2
                        \
                          Input3
 
The flows sense is: Input1 -> output; Input2->out;
Input3->out;
 
I want to do classification, shaping and marking in
each In* interface and some queueing management in out
interface.
For In* interfaces I tried to use the following
script:
 
#!/bin/sh
DEV1="dev eth3"
# In1
DEV2="dev eth2"
# In2
DEV3="dev eth4"
# In3
DEV4="dev eth1"
# out
 
tc qdisc del $DEV1 ingress
tc qdisc del $DEV2 ingress
tc qdisc del $DEV3 ingress
tc qdisc del $DEV4 root
 
# initialisation part
tc qdisc add $DEV1 ingress
tc qdisc add $DEV2 ingress
tc qdisc add $DEV3 ingress
tc qdisc add $DEV4 root handle 1:0 cbq bandwidth
10Mbit avpkt 1500 cell 8
 
# for interface In1 (here is DEV1)
 
# shaping + classification
tc filter add $DEV1 parent ffff:0 protocol ip prio 1
u32 match ip dst 192.168.3.6 match ip dport 6970
0xffff police rate 500Kbit burst 30K drop flowid 1:1
tc filter add $DEV1 parent ffff:0 protocol ip prio 1
u32 match ip src 192.168.9.17 match ip dport 5050
0xffff police rate 500Kbit burst 6K drop classid 1:2
tc filter add $DEV1 parent ffff:0 protocol ip prio 1
u32 match ip src 192.168.9.17 match ip sport 80 0xffff
police rate 300Kbit burst 6K drop classid 1:3
 
# marking with tos field
# Somebody has an I ideea how it should be done?
 
#for interface In2 (here is DEV2)
.................
 
#for interface In3 (here is DEV3)
.................
 
#for interface out (here is DEV4)
tc class add $DEV4 parent 1:0 classid 1:1 cbq
bandwidth 10Mbit rate 250Kbit avpkt 1500 allot 1514
mpu 64 prio
tc qdisc add $DEV4 parent 1:1 tbf rate 1Mbit burst
20kbit limit 20kb
 
tc class add $DEV4 parent 1:0 classid 1:2 cbq
bandwidth 10Mbit rate 300Kbit avpkt 1500 allot 1514
mpu 64 prio 2
tc qdisc add $DEV4 parent 1:2 gred setup DPs 1 default
1 grio 
tc qdisc change $DEV4 parent 1:2 gred limit 10KB min
2KB max 6KB avpkt 1500 burst  4 bandwidth 10Mbit DP 1
probability 0.02 prio 2
 
tc class add $DEV4 parent 1:0 classid 1:3 cbq
bandwidth 10Mbit rate 700Kbit avpkt 1500 allot 1514
mpu 64 prio 2
tc qdisc add $DEV4 parent 1:3 gred setup DPs 1 default
1 grio
tc qdisc change $DEV4 parent 1:3 gred limit 10KB min
2KB max 6KB avpkt 1500 burst 4 bandwidth 10Mbit DP 1
probability 0.02 prio 2
 
So, when I start the script and provision the In
interface with ingress task the system is frozen! Why?
Can anybody explain me?
Also, I don't have any ideea how to mark the packets
at the ingress. I tried to use dsmark queueing
discipline but I can't use it at the ingress. Have you
another
ideea?
 
Thank you,
 
R.

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [LARTC] Ingress utilization problem
  2002-05-31 10:16 [LARTC] Ingress utilization problem Mr SERBAN Rares
@ 2002-05-31 11:44 ` Alexey Talikov
  2002-05-31 13:43 ` Mr SERBAN Rares
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Alexey Talikov @ 2002-05-31 11:44 UTC (permalink / raw)
  To: lartc

tc qdisc add dev $DEV handle ffff:fff1 ingress
or 
tc qdisc add dev $DEV handle ffff: ingress
tc filter add dev $DEV parent ffff:fff1 protocol ip ....
or
tc filter add dev $DEV parent ffff: protocol ip ....

for details see Linux Network Traffic Control - Implementation Overview
Werner Almesberger February 4, 2001

31.05.2002 15:16:45, Mr SERBAN Rares <serban_rares@yahoo.com> wrote:

>Hi,
> 
>I have one router with 4 interfaces:
> 
>                           Input1
>                         /
>               out - R - Input2
>                        \
>                          Input3
> 
>The flows sense is: Input1 -> output; Input2->out;
>Input3->out;
> 
>I want to do classification, shaping and marking in
>each In* interface and some queueing management in out
>interface.
>For In* interfaces I tried to use the following
>script:
> 
>#!/bin/sh
>DEV1="dev eth3"
># In1
>DEV2="dev eth2"
># In2
>DEV3="dev eth4"
># In3
>DEV4="dev eth1"
># out
> 
>tc qdisc del $DEV1 ingress
>tc qdisc del $DEV2 ingress
>tc qdisc del $DEV3 ingress
>tc qdisc del $DEV4 root
> 
># initialisation part
>tc qdisc add $DEV1 ingress
>tc qdisc add $DEV2 ingress
>tc qdisc add $DEV3 ingress
>tc qdisc add $DEV4 root handle 1:0 cbq bandwidth
>10Mbit avpkt 1500 cell 8
> 
># for interface In1 (here is DEV1)
> 
># shaping + classification
>tc filter add $DEV1 parent ffff:0 protocol ip prio 1
>u32 match ip dst 192.168.3.6 match ip dport 6970
>0xffff police rate 500Kbit burst 30K drop flowid 1:1
>tc filter add $DEV1 parent ffff:0 protocol ip prio 1
>u32 match ip src 192.168.9.17 match ip dport 5050
>0xffff police rate 500Kbit burst 6K drop classid 1:2
>tc filter add $DEV1 parent ffff:0 protocol ip prio 1
>u32 match ip src 192.168.9.17 match ip sport 80 0xffff
>police rate 300Kbit burst 6K drop classid 1:3
> 
># marking with tos field
># Somebody has an I ideea how it should be done?
> 
>#for interface In2 (here is DEV2)
>.................
> 
>#for interface In3 (here is DEV3)
>.................
> 
>#for interface out (here is DEV4)
>tc class add $DEV4 parent 1:0 classid 1:1 cbq
>bandwidth 10Mbit rate 250Kbit avpkt 1500 allot 1514
>mpu 64 prio
>tc qdisc add $DEV4 parent 1:1 tbf rate 1Mbit burst
>20kbit limit 20kb
> 
>tc class add $DEV4 parent 1:0 classid 1:2 cbq
>bandwidth 10Mbit rate 300Kbit avpkt 1500 allot 1514
>mpu 64 prio 2
>tc qdisc add $DEV4 parent 1:2 gred setup DPs 1 default
>1 grio 
>tc qdisc change $DEV4 parent 1:2 gred limit 10KB min
>2KB max 6KB avpkt 1500 burst  4 bandwidth 10Mbit DP 1
>probability 0.02 prio 2
> 
>tc class add $DEV4 parent 1:0 classid 1:3 cbq
>bandwidth 10Mbit rate 700Kbit avpkt 1500 allot 1514
>mpu 64 prio 2
>tc qdisc add $DEV4 parent 1:3 gred setup DPs 1 default
>1 grio
>tc qdisc change $DEV4 parent 1:3 gred limit 10KB min
>2KB max 6KB avpkt 1500 burst 4 bandwidth 10Mbit DP 1
>probability 0.02 prio 2
> 
>So, when I start the script and provision the In
>interface with ingress task the system is frozen! Why?
>Can anybody explain me?
>Also, I don't have any ideea how to mark the packets
>at the ingress. I tried to use dsmark queueing
>discipline but I can't use it at the ingress. Have you
>another
>ideea?
> 
>Thank you,
> 
>R.
>
>__________________________________________________
>Do You Yahoo!?
>Yahoo! - Official partner of 2002 FIFA World Cup
>http://fifaworldcup.yahoo.com
>_______________________________________________
>LARTC mailing list / LARTC@mailman.ds9a.nl
>http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
>

-----------------------------------
mailto:alexey_talikov@texlab.com.uz
BR
Alexey Talikov
FORTEK
-----------------------------------


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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [LARTC] Ingress utilization problem
  2002-05-31 10:16 [LARTC] Ingress utilization problem Mr SERBAN Rares
  2002-05-31 11:44 ` Alexey Talikov
@ 2002-05-31 13:43 ` Mr SERBAN Rares
  2002-05-31 15:22 ` Alexey Talikov
  2002-05-31 18:51 ` Alin Nastac
  3 siblings, 0 replies; 5+ messages in thread
From: Mr SERBAN Rares @ 2002-05-31 13:43 UTC (permalink / raw)
  To: lartc

Hi Alexey,

I read the paper of Werner Almesberger. I didn' t
understand if there are multiple instances of ingress
queueing discipline. Can you be more specific?

Also I want to do marking operation in ingress
interface. How do I do?

Thank you,

R.

--- Alexey Talikov <alexey_talikov@texlab.com.uz>
wrote:
> tc qdisc add dev $DEV handle ffff:fff1 ingress
> or 
> tc qdisc add dev $DEV handle ffff: ingress
> tc filter add dev $DEV parent ffff:fff1 protocol ip
> ....
> or
> tc filter add dev $DEV parent ffff: protocol ip ....
> 
> for details see Linux Network Traffic Control -
> Implementation Overview
> Werner Almesberger February 4, 2001
> 
> 31.05.2002 15:16:45, Mr SERBAN Rares
> <serban_rares@yahoo.com> wrote:
> 
> >Hi,
> > 
> >I have one router with 4 interfaces:
> > 
> >                           Input1
> >                         /
> >               out - R - Input2
> >                        \
> >                          Input3
> > 
> >The flows sense is: Input1 -> output; Input2->out;
> >Input3->out;
> > 
> >I want to do classification, shaping and marking in
> >each In* interface and some queueing management in
> out
> >interface.
> >For In* interfaces I tried to use the following
> >script:
> > 
> >#!/bin/sh
> >DEV1="dev eth3"
> ># In1
> >DEV2="dev eth2"
> ># In2
> >DEV3="dev eth4"
> ># In3
> >DEV4="dev eth1"
> ># out
> > 
> >tc qdisc del $DEV1 ingress
> >tc qdisc del $DEV2 ingress
> >tc qdisc del $DEV3 ingress
> >tc qdisc del $DEV4 root
> > 
> ># initialisation part
> >tc qdisc add $DEV1 ingress
> >tc qdisc add $DEV2 ingress
> >tc qdisc add $DEV3 ingress
> >tc qdisc add $DEV4 root handle 1:0 cbq bandwidth
> >10Mbit avpkt 1500 cell 8
> > 
> ># for interface In1 (here is DEV1)
> > 
> ># shaping + classification
> >tc filter add $DEV1 parent ffff:0 protocol ip prio
> 1
> >u32 match ip dst 192.168.3.6 match ip dport 6970
> >0xffff police rate 500Kbit burst 30K drop flowid
> 1:1
> >tc filter add $DEV1 parent ffff:0 protocol ip prio
> 1
> >u32 match ip src 192.168.9.17 match ip dport 5050
> >0xffff police rate 500Kbit burst 6K drop classid
> 1:2
> >tc filter add $DEV1 parent ffff:0 protocol ip prio
> 1
> >u32 match ip src 192.168.9.17 match ip sport 80
> 0xffff
> >police rate 300Kbit burst 6K drop classid 1:3
> > 
> ># marking with tos field
> ># Somebody has an I ideea how it should be done?
> > 
> >#for interface In2 (here is DEV2)
> >.................
> > 
> >#for interface In3 (here is DEV3)
> >.................
> > 
> >#for interface out (here is DEV4)
> >tc class add $DEV4 parent 1:0 classid 1:1 cbq
> >bandwidth 10Mbit rate 250Kbit avpkt 1500 allot 1514
> >mpu 64 prio
> >tc qdisc add $DEV4 parent 1:1 tbf rate 1Mbit burst
> >20kbit limit 20kb
> > 
> >tc class add $DEV4 parent 1:0 classid 1:2 cbq
> >bandwidth 10Mbit rate 300Kbit avpkt 1500 allot 1514
> >mpu 64 prio 2
> >tc qdisc add $DEV4 parent 1:2 gred setup DPs 1
> default
> >1 grio 
> >tc qdisc change $DEV4 parent 1:2 gred limit 10KB
> min
> >2KB max 6KB avpkt 1500 burst  4 bandwidth 10Mbit DP
> 1
> >probability 0.02 prio 2
> > 
> >tc class add $DEV4 parent 1:0 classid 1:3 cbq
> >bandwidth 10Mbit rate 700Kbit avpkt 1500 allot 1514
> >mpu 64 prio 2
> >tc qdisc add $DEV4 parent 1:3 gred setup DPs 1
> default
> >1 grio
> >tc qdisc change $DEV4 parent 1:3 gred limit 10KB
> min
> >2KB max 6KB avpkt 1500 burst 4 bandwidth 10Mbit DP
> 1
> >probability 0.02 prio 2
> > 
> >So, when I start the script and provision the In
> >interface with ingress task the system is frozen!
> Why?
> >Can anybody explain me?
> >Also, I don't have any ideea how to mark the
> packets
> >at the ingress. I tried to use dsmark queueing
> >discipline but I can't use it at the ingress. Have
> you
> >another
> >ideea?
> > 
> >Thank you,
> > 
> >R.
> >
> >__________________________________________________
> >Do You Yahoo!?
> >Yahoo! - Official partner of 2002 FIFA World Cup
> >http://fifaworldcup.yahoo.com
> >_______________________________________________
> >LARTC mailing list / LARTC@mailman.ds9a.nl
> >http://mailman.ds9a.nl/mailman/listinfo/lartc
> HOWTO: http://lartc.org/
> >
> 
> -----------------------------------
> mailto:alexey_talikov@texlab.com.uz
> BR
> Alexey Talikov
> FORTEK
> -----------------------------------
> 
> 


__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [LARTC] Ingress utilization problem
  2002-05-31 10:16 [LARTC] Ingress utilization problem Mr SERBAN Rares
  2002-05-31 11:44 ` Alexey Talikov
  2002-05-31 13:43 ` Mr SERBAN Rares
@ 2002-05-31 15:22 ` Alexey Talikov
  2002-05-31 18:51 ` Alin Nastac
  3 siblings, 0 replies; 5+ messages in thread
From: Alexey Talikov @ 2002-05-31 15:22 UTC (permalink / raw)
  To: lartc

You can't add multiple instances of ingress qdisc it classless
but possible add some filters

tc qdisc add dev eth0 handle ffff:fff1 ingress

tc filter add dev eth0 parent ffff:fff1 protocol ip prio 50 u32 match ip src 192.168.1.2/32 \
police rate 100kbit burst 10k drop flowid :1

tc filter add dev eth0 parent ffff:fff1 protocol ip prio 50 u32 match ip src 192.168.1.3/32 \
police rate 150kbit burst 10k drop flowid :1

tc filter add dev eth0 parent ffff:fff1 protocol ip prio 50 handle 1 fw police rate 200kbit \
burst 18k drop flowid :1
iptables -t mangle -A PREROUTING -i eth0 -s 192.168.1.4 -j MARK --set-mark 1


You may also limit all traffic from 192.168.1.2 to 800kbit and ssh to 200 kbit for example

tc qdisc add dev eth0 handle ffff:fff1 ingress
tc filter add dev eth0 parent ffff:fff1 protocol ip prio 50 u32 match ip dport 22 0xffff \
police rate 200kbit burst 20k drop flowid :1

tc filter add dev eth0 parent ffff:fff1 protocol ip prio 50 u32 match ip src 192.168.1.2/32 \
police rate 800kbit burst 80k drop flowid :1

Note add limit for ssh before all limit

for more complexity conf you may use IMQ device see http://luxik.cdi.cz/~patrick/imq/

example with htb:
limit all traffic to 100kbps and then sharing 20kbps for ssh and 80 for ftp

modprobe imq numdevs=1
tc qdisc add dev imq0 root handle 1: htb default 1
tc class add dev imq0 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps
tc class add dev imq0 parent 1: classid 1:10 htb rate 20kbps ceil 100kbps
tc class add dev imq0 parent 1: classid 1:11 htb rate 80kbps ceil 100kbps

tc filter add dev imq0 parent 1:0 protocol ip prio 2 handle 1 fw classid 1:11
tc filter add dev imq0 parent 1:0 protocol ip prio 2 handle 2 fw classid 1:10

tc qdisc add dev imq0 parent 1:10 handle 30: sfq
tc qdisc add dev imq0 parent 1:11 handle 40: sfq

iptables -t mangle -A PREROUTING -i eth0 -s 192.168.1.2/32 -j IMQ
iptables -t mangle -A PREROUTING -i eth0 -s 192.168.1.2/32 --dport 20 -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -i eth0 -s 192.168.1.2/32 --dport 22 -j MARK --set-mark 2

ip link set imq0 up


31.05.2002 18:43:25, Mr SERBAN Rares <serban_rares@yahoo.com> wrote:

>Hi Alexey,
>
>I read the paper of Werner Almesberger. I didn' t
>understand if there are multiple instances of ingress
>queueing discipline. Can you be more specific?
>
>Also I want to do marking operation in ingress
>interface. How do I do?
>
>Thank you,
>
>R.
>
>--- Alexey Talikov <alexey_talikov@texlab.com.uz>
>wrote:
>> tc qdisc add dev $DEV handle ffff:fff1 ingress
>> or 
>> tc qdisc add dev $DEV handle ffff: ingress
>> tc filter add dev $DEV parent ffff:fff1 protocol ip
>> ....
>> or
>> tc filter add dev $DEV parent ffff: protocol ip ....
>> 
>> for details see Linux Network Traffic Control -
>> Implementation Overview
>> Werner Almesberger February 4, 2001
>> 
>> 31.05.2002 15:16:45, Mr SERBAN Rares
>> <serban_rares@yahoo.com> wrote:
>> 
>> >Hi,
>> > 
>> >I have one router with 4 interfaces:
>> > 
>> >                           Input1
>> >                         /
>> >               out - R - Input2
>> >                        \
>> >                          Input3
>> > 
>> >The flows sense is: Input1 -> output; Input2->out;
>> >Input3->out;
>> > 
>> >I want to do classification, shaping and marking in
>> >each In* interface and some queueing management in
>> out
>> >interface.
>> >For In* interfaces I tried to use the following
>> >script:
>> > 
>> >#!/bin/sh
>> >DEV1="dev eth3"
>> ># In1
>> >DEV2="dev eth2"
>> ># In2
>> >DEV3="dev eth4"
>> ># In3
>> >DEV4="dev eth1"
>> ># out
>> > 
>> >tc qdisc del $DEV1 ingress
>> >tc qdisc del $DEV2 ingress
>> >tc qdisc del $DEV3 ingress
>> >tc qdisc del $DEV4 root
>> > 
>> ># initialisation part
>> >tc qdisc add $DEV1 ingress
>> >tc qdisc add $DEV2 ingress
>> >tc qdisc add $DEV3 ingress
>> >tc qdisc add $DEV4 root handle 1:0 cbq bandwidth
>> >10Mbit avpkt 1500 cell 8
>> > 
>> ># for interface In1 (here is DEV1)
>> > 
>> ># shaping + classification
>> >tc filter add $DEV1 parent ffff:0 protocol ip prio
>> 1
>> >u32 match ip dst 192.168.3.6 match ip dport 6970
>> >0xffff police rate 500Kbit burst 30K drop flowid
>> 1:1
>> >tc filter add $DEV1 parent ffff:0 protocol ip prio
>> 1
>> >u32 match ip src 192.168.9.17 match ip dport 5050
>> >0xffff police rate 500Kbit burst 6K drop classid
>> 1:2
>> >tc filter add $DEV1 parent ffff:0 protocol ip prio
>> 1
>> >u32 match ip src 192.168.9.17 match ip sport 80
>> 0xffff
>> >police rate 300Kbit burst 6K drop classid 1:3
>> > 
>> ># marking with tos field
>> ># Somebody has an I ideea how it should be done?
>> > 
>> >#for interface In2 (here is DEV2)
>> >.................
>> > 
>> >#for interface In3 (here is DEV3)
>> >.................
>> > 
>> >#for interface out (here is DEV4)
>> >tc class add $DEV4 parent 1:0 classid 1:1 cbq
>> >bandwidth 10Mbit rate 250Kbit avpkt 1500 allot 1514
>> >mpu 64 prio
>> >tc qdisc add $DEV4 parent 1:1 tbf rate 1Mbit burst
>> >20kbit limit 20kb
>> > 
>> >tc class add $DEV4 parent 1:0 classid 1:2 cbq
>> >bandwidth 10Mbit rate 300Kbit avpkt 1500 allot 1514
>> >mpu 64 prio 2
>> >tc qdisc add $DEV4 parent 1:2 gred setup DPs 1
>> default
>> >1 grio 
>> >tc qdisc change $DEV4 parent 1:2 gred limit 10KB
>> min
>> >2KB max 6KB avpkt 1500 burst  4 bandwidth 10Mbit DP
>> 1
>> >probability 0.02 prio 2
>> > 
>> >tc class add $DEV4 parent 1:0 classid 1:3 cbq
>> >bandwidth 10Mbit rate 700Kbit avpkt 1500 allot 1514
>> >mpu 64 prio 2
>> >tc qdisc add $DEV4 parent 1:3 gred setup DPs 1
>> default
>> >1 grio
>> >tc qdisc change $DEV4 parent 1:3 gred limit 10KB
>> min
>> >2KB max 6KB avpkt 1500 burst 4 bandwidth 10Mbit DP
>> 1
>> >probability 0.02 prio 2
>> > 
>> >So, when I start the script and provision the In
>> >interface with ingress task the system is frozen!
>> Why?
>> >Can anybody explain me?
>> >Also, I don't have any ideea how to mark the
>> packets
>> >at the ingress. I tried to use dsmark queueing
>> >discipline but I can't use it at the ingress. Have
>> you
>> >another
>> >ideea?
>> > 
>> >Thank you,
>> > 
>> >R.
>> >
>> >__________________________________________________
>> >Do You Yahoo!?
>> >Yahoo! - Official partner of 2002 FIFA World Cup
>> >http://fifaworldcup.yahoo.com
>> >_______________________________________________
>> >LARTC mailing list / LARTC@mailman.ds9a.nl
>> >http://mailman.ds9a.nl/mailman/listinfo/lartc
>> HOWTO: http://lartc.org/
>> >
>> 
>> -----------------------------------
>> mailto:alexey_talikov@texlab.com.uz
>> BR
>> Alexey Talikov
>> FORTEK
>> -----------------------------------
>> 
>> 
>
>
>__________________________________________________
>Do You Yahoo!?
>Yahoo! - Official partner of 2002 FIFA World Cup
>http://fifaworldcup.yahoo.com
>

-----------------------------------
mailto:alexey_talikov@texlab.com.uz
BR
Alexey Talikov
FORTEK
-----------------------------------


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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [LARTC] Ingress utilization problem
  2002-05-31 10:16 [LARTC] Ingress utilization problem Mr SERBAN Rares
                   ` (2 preceding siblings ...)
  2002-05-31 15:22 ` Alexey Talikov
@ 2002-05-31 18:51 ` Alin Nastac
  3 siblings, 0 replies; 5+ messages in thread
From: Alin Nastac @ 2002-05-31 18:51 UTC (permalink / raw)
  To: lartc

Why not IMQ + whatever egress policy you want? It is a really cool piece 
of software. You could create up to 4 (?) virtual queues. Every queue 
could have packets enqueued from various real NICs based on your 
classification and it could be an egress, ingress or ingress+egress kind 
of queue!!!

Mr SERBAN Rares wrote:

>Hi Alexey,
>
>I read the paper of Werner Almesberger. I didn' t
>understand if there are multiple instances of ingress
>queueing discipline. Can you be more specific?
>
>Also I want to do marking operation in ingress
>interface. How do I do?
>
>Thank you,
>
>R.
>
>--- Alexey Talikov <alexey_talikov@texlab.com.uz>
>wrote:
>
>>tc qdisc add dev $DEV handle ffff:fff1 ingress
>>or 
>>tc qdisc add dev $DEV handle ffff: ingress
>>tc filter add dev $DEV parent ffff:fff1 protocol ip
>>....
>>or
>>tc filter add dev $DEV parent ffff: protocol ip ....
>>
>>for details see Linux Network Traffic Control -
>>Implementation Overview
>>Werner Almesberger February 4, 2001
>>
>>31.05.2002 15:16:45, Mr SERBAN Rares
>><serban_rares@yahoo.com> wrote:
>>
>>>Hi,
>>>
>>>I have one router with 4 interfaces:
>>>
>>>                          Input1
>>>                        /
>>>              out - R - Input2
>>>                       \
>>>                         Input3
>>>
>>>The flows sense is: Input1 -> output; Input2->out;
>>>Input3->out;
>>>
>>>I want to do classification, shaping and marking in
>>>each In* interface and some queueing management in
>>>
>>out
>>
>>>interface.
>>>For In* interfaces I tried to use the following
>>>script:
>>>
>>>#!/bin/sh
>>>DEV1="dev eth3"
>>># In1
>>>DEV2="dev eth2"
>>># In2
>>>DEV3="dev eth4"
>>># In3
>>>DEV4="dev eth1"
>>># out
>>>
>>>tc qdisc del $DEV1 ingress
>>>tc qdisc del $DEV2 ingress
>>>tc qdisc del $DEV3 ingress
>>>tc qdisc del $DEV4 root
>>>
>>># initialisation part
>>>tc qdisc add $DEV1 ingress
>>>tc qdisc add $DEV2 ingress
>>>tc qdisc add $DEV3 ingress
>>>tc qdisc add $DEV4 root handle 1:0 cbq bandwidth
>>>10Mbit avpkt 1500 cell 8
>>>
>>># for interface In1 (here is DEV1)
>>>
>>># shaping + classification
>>>tc filter add $DEV1 parent ffff:0 protocol ip prio
>>>
>>1
>>
>>>u32 match ip dst 192.168.3.6 match ip dport 6970
>>>0xffff police rate 500Kbit burst 30K drop flowid
>>>
>>1:1
>>
>>>tc filter add $DEV1 parent ffff:0 protocol ip prio
>>>
>>1
>>
>>>u32 match ip src 192.168.9.17 match ip dport 5050
>>>0xffff police rate 500Kbit burst 6K drop classid
>>>
>>1:2
>>
>>>tc filter add $DEV1 parent ffff:0 protocol ip prio
>>>
>>1
>>
>>>u32 match ip src 192.168.9.17 match ip sport 80
>>>
>>0xffff
>>
>>>police rate 300Kbit burst 6K drop classid 1:3
>>>
>>># marking with tos field
>>># Somebody has an I ideea how it should be done?
>>>
>>>#for interface In2 (here is DEV2)
>>>.................
>>>
>>>#for interface In3 (here is DEV3)
>>>.................
>>>
>>>#for interface out (here is DEV4)
>>>tc class add $DEV4 parent 1:0 classid 1:1 cbq
>>>bandwidth 10Mbit rate 250Kbit avpkt 1500 allot 1514
>>>mpu 64 prio
>>>tc qdisc add $DEV4 parent 1:1 tbf rate 1Mbit burst
>>>20kbit limit 20kb
>>>
>>>tc class add $DEV4 parent 1:0 classid 1:2 cbq
>>>bandwidth 10Mbit rate 300Kbit avpkt 1500 allot 1514
>>>mpu 64 prio 2
>>>tc qdisc add $DEV4 parent 1:2 gred setup DPs 1
>>>
>>default
>>
>>>1 grio 
>>>tc qdisc change $DEV4 parent 1:2 gred limit 10KB
>>>
>>min
>>
>>>2KB max 6KB avpkt 1500 burst  4 bandwidth 10Mbit DP
>>>
>>1
>>
>>>probability 0.02 prio 2
>>>
>>>tc class add $DEV4 parent 1:0 classid 1:3 cbq
>>>bandwidth 10Mbit rate 700Kbit avpkt 1500 allot 1514
>>>mpu 64 prio 2
>>>tc qdisc add $DEV4 parent 1:3 gred setup DPs 1
>>>
>>default
>>
>>>1 grio
>>>tc qdisc change $DEV4 parent 1:3 gred limit 10KB
>>>
>>min
>>
>>>2KB max 6KB avpkt 1500 burst 4 bandwidth 10Mbit DP
>>>
>>1
>>
>>>probability 0.02 prio 2
>>>
>>>So, when I start the script and provision the In
>>>interface with ingress task the system is frozen!
>>>
>>Why?
>>
>>>Can anybody explain me?
>>>Also, I don't have any ideea how to mark the
>>>
>>packets
>>
>>>at the ingress. I tried to use dsmark queueing
>>>discipline but I can't use it at the ingress. Have
>>>
>>you
>>
>>>another
>>>ideea?
>>>
>>>Thank you,
>>>
>>>R.
>>>
>>>__________________________________________________
>>>Do You Yahoo!?
>>>Yahoo! - Official partner of 2002 FIFA World Cup
>>>http://fifaworldcup.yahoo.com
>>>_______________________________________________
>>>LARTC mailing list / LARTC@mailman.ds9a.nl
>>>http://mailman.ds9a.nl/mailman/listinfo/lartc
>>>
>>HOWTO: http://lartc.org/
>>
>>-----------------------------------
>>mailto:alexey_talikov@texlab.com.uz
>>BR
>>Alexey Talikov
>>FORTEK
>>-----------------------------------
>>
>>
>
>
>__________________________________________________
>Do You Yahoo!?
>Yahoo! - Official partner of 2002 FIFA World Cup
>http://fifaworldcup.yahoo.com
>_______________________________________________
>LARTC mailing list / LARTC@mailman.ds9a.nl
>http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
>


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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-05-31 18:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-31 10:16 [LARTC] Ingress utilization problem Mr SERBAN Rares
2002-05-31 11:44 ` Alexey Talikov
2002-05-31 13:43 ` Mr SERBAN Rares
2002-05-31 15:22 ` Alexey Talikov
2002-05-31 18:51 ` Alin Nastac

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.