RE: Problems with HTB. Help!

Linux Advanced Routing and Traffic Control

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

 



> -----Original Message-----
> From: lartc-bounces@xxxxxxxxxxxxxxx 
> [mailto:lartc-bounces@xxxxxxxxxxxxxxx] On Behalf Of Andrew Beverley
> Sent: Friday, 9 February 2007 4:24
> To: Anthony Kamau
> Cc: 'LARTC'
> Subject: RE:  Problems with HTB. Help!
> 
> Can you send your updated tc rules as well please?
> 
> Andy
> 

Here's the htbinit script:
************************************************************************
#!/bin/bash

#  Whole purpose of this is to slow the P2P server down!

###################################
# Reset everything to known state #
###################################
tc qdisc del dev eth1 root

####################
# Setup the links  #
####################
tc qdisc add dev eth1 parent root handle 2: htb default 13

###########################
# Setup the root classes  #
###########################
tc class add dev eth1 parent 2: classid 2:1 htb rate 384kbit \
  ceil 384kbit

###########################
# Setup the child classes #
###########################
tc class add dev eth1 parent 2:1 classid 2:10 htb rate 224kbit \
  ceil 384kbit prio 0
tc class add dev eth1 parent 2:1 classid 2:11 htb rate 100kbit \
  ceil 100kbit prio 1 burst 1024k
tc class add dev eth1 parent 2:1 classid 2:12 htb rate  30kbit \
  ceil  30kbit prio 2
tc class add dev eth1 parent 2:1 classid 2:13 htb rate  30kbit \
  ceil  30kbit prio 3 burst 1500

#####################
# Setup the filters #
#####################
# match acks the hard way,
# IP protocol 6,
# IP header length 0x5(32 bit words),
# IP Total length 0x34 (ACK + 12 bytes of TCP options)
# TCP ack set (bit 5, offset 33)
ACK="tc filter add dev eth1 protocol ip parent 2:0 prio 0 u32"
$ACK match ip protocol 6 0xff \
  match u8 0x05 0x0f at 0 \
  match u16 0x0000 0xffc0 at 2 \
  match u8 0x10 0xff at 33 \
  flowid 2:11
U32="tc filter add dev eth1 protocol ip parent 2:0 u32"
$U32 match ip src 192.168.200.130 flowid 2:10
$U32 match ip src 192.168.200.140 flowid 2:10
$U32 match ip src 192.168.200.147 flowid 2:10
P2P="tc filter add dev eth1 parent 2:0 prio 2 protocol ip"
#$P2P handle 1 fw flowid 2:12

####################################################
# Setup the queue discipline for the child classes #
####################################################
tc qdisc add dev eth1 parent 2:10 handle 10: sfq perturb 10
tc qdisc add dev eth1 parent 2:11 handle 11: sfq perturb 10
tc qdisc add dev eth1 parent 2:12 handle 12: sfq perturb 10
**********************************************************************

And here is the rule in the firewall that is marking the parkets:
************************************************************************
$IPTABLES -t mangle -I FORWARD -s $P2PSRVR -i $LAN_IFACE -j MARK \
  --set-mark 1
************************************************************************


Can you spot any issues with this?

In the mean time, I'll try your classid method and if that works fine, then
so be it from now on.

Cheers,
tkb.

_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

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