Hi, I have a question regarding the token bucket filter queuing in the TC package. I'm trying to shape a bursty traffic to make it conferment to the EF requirements in terms of rate and burst size. The traffic, as I said, is bursty and its burst size is 11 packets (Video server output running on microsoft platform) and it has an average rate of 1Mbit per sec. The catch is , the microsoft application sends very large datagram size >1500B to the ip stack to be fragmented and what I see on the wire is 10 fragments plus the first packet. I want to shape this stream using TC to an output of an ave. rate of 1MB and burst size of 2 packets (without any dropping) I have tried several ways of doing that the script shown below does the shaping ok but for packet less than the Ethernet MTU. if I start to have fragments everything is missed up. I tried it with pings givinig different packet size in the command line. ANy help is very much appreciated. #! /bin/sh TC=tc IP=ip DEVICE=eth0 BANDWIDTH="bandwidth 10Mbit" #Delete all QDISC $TC qdisc del dev $DEVICE parent 1:2 $TC qdisc del dev $DEVICE root # Attach CBQ on $DEVICE. It will have handle 1:. # $BANDWIDTH is real $DEVICE bandwidth (10Mbit). # avpkt is average packet size. # mpu is minimal packet size. $TC qdisc add dev $DEVICE root handle 1: cbq cell 8 \ $BANDWIDTH avpkt 1500 mpu 64 # Create root class with classid 1:1. This step is not necessary. # bandwidth is the same as on CBQ itself. # rate == all the bandwidth # allot is MTU + MAC header # maxburst measure allowed class burstiness (please,read S.Floyd and VJ papers # est 1sec 8sec means, that kernel will evaluate average rate # on this class with period 1sec and time constant 8sec. # This rate is viewed with "tc -s class ls dev $DEVICE" $TC class add dev $DEVICE parent 1:0 classid 1:1 est 1sec 8sec cbq \ $BANDWIDTH rate 10Mbit allot 1514 maxburst 11 avpkt 1500 $TC class add dev eth0 parent 1:1 classid 1:2 cbq $BANDWIDTH rate 1.1Mbit allot 1514 maxburst 11 avpkt 1500 weight 1 prio 1 isolated $TC qdisc add dev $DEVICE parent 1:2 est 1sec 8sec tbf limit 1mb burst 30Kb rate 1.1Mbit peakrate 1200mbps mtu 150 $TC filter add dev $DEVICE parent 1:0 prio 1 handle 1: protocol ip u32 divisor 1 $TC filter add dev $DEVICE parent 1:0 prio 1 u32 match ip dst 158.130.20.0/24 flowid 1:2 The problem is when I have the MTU with this size all packets with fragments (datagrams with size >1500) are not sent and dropped, but when I make it larger (15000) the packets are sent but the rate is veery slow. Any Idea is welcome... Thanks Wael - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org