Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- DEV=eth0
- RATE="rate 40Mbit"
- TNETS="192.168.122.0/24"
- ALLOT="allot 20000"
- tc qdisc del dev $DEV root 2>/dev/null
- tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 rate 1000Mbit \
- bandwidth 1000Mbit
- tc class add dev $DEV parent 1: classid 1:1 \
- est 1sec 8sec cbq allot 10000 mpu 64 \
- rate 1000Mbit prio 1 avpkt 1500 bounded
- # output to test nets : 40 Mbit limit
- tc class add dev $DEV parent 1:1 classid 1:11 \
- est 1sec 8sec cbq $ALLOT mpu 64 \
- $RATE prio 2 avpkt 1400 bounded
- tc qdisc add dev $DEV parent 1:11 handle 11: \
- est 1sec 8sec qfq
- #tc filter add dev $DEV protocol ip parent 11: handle 3 \
- # flow hash keys txhash divisor 8
- #tc filter add dev $DEV protocol ip parent 11: handle 3 \
- # flow hash keys u32 dport divisor 8
- #tc filter add dev $DEV protocol ip parent 11: \
- # u32 hashkey mask 0000ffff at 8 divisor 8
- for i in `seq 1 8`
- do
- classid=11:$(printf %x $i)
- tc class add dev $DEV classid $classid qfq
- tc qdisc add dev $DEV parent $classid pfifo limit 30
- done
- # use just following simple dport match to test this beast
- for i in `seq 1 8`; do
- tc filter add dev $DEV protocol ip parent 11: u32 \
- match ip dport 123$i 0xffff flowid 11:$i
- done
- for privnet in $TNETS
- do
- tc filter add dev $DEV parent 1: protocol ip prio 100 u32 \
- match ip dst $privnet flowid 1:11
- done
- tc filter add dev $DEV parent 1: protocol ip prio 100 u32 \
- match ip protocol 0 0x00 flowid 1:1
Advertisement
Add Comment
Please, Sign In to add comment