Re: [LARTC] Ingress utilization problem

Linux Advanced Routing and Traffic Control

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

 



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/

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux