|
楼主 |
发表于 2003-12-28 18:22:59
|
显示全部楼层
Coyote Traffic Control
13.10.2003
- Another small update in qos init scripts
12.10.2003
- Added QOS wizard update build from original coyote linux kernel config with qos enabled (all modules included), contains updated qos init scripts.
- Updated qos.tgz, there was bug in QOS classes priorities assignments.
I have been using coyote linux with traffic control (QOS) support for some time now without any problems. For traffic control support in coyote you will need new kernel with qos enabled, tc program from iproute2 package and probably some init scripts. You can download here qos enabled kernel, modules, tc and some init scripts that i'm using on my coyote box.
1. QOS integration with coyote wizard
Download coyote disk creator wizard (currently version 2.2.3 ) and unpack it somewhere
Download QOS-wizard update and unpack to the same directory (some files will be overwritten)
Build coyote boot disk as usual and boot up. You should have full HTB, SFQ and CBQ qdisc support with u32 and fw filter classifiers.
Edit /etc/qos.classes and /etc/qos.filters to suit your needs
Run /etc/rc.d/rc.traffic to initialize your QOS setup (rc.traffic is NOT started automatically after system boot)
QOS wizard updates:
qos-wizard-2.2.3-allmods.zip kernel-config Wizard update with QOS support (HTB, CBQ, SFQ, cls_fw, cls_u32), includes all modules.
qos-ide-wizard-2.2.3-allmods.zip kernel-config Wizard update with QOS support (HTB, CBQ, SFQ, cls_fw, cls_u32) and IDE hard drive support, includes all modules.
2. Manual Setup
Download kernel image
qos-kernel.zip
- Simple QOS enabled kernel
qos-ide-kernel.zip
- QOS enabled kernel with IDE hard drive support
Download kernel modules
Download compiled tc binary from iproute2
Build new modules.tgz using downloaded modules (do not forget to add qos modules ... sch_htb.o, sch_sfq.o, sch_cbq.o, cls_u32.o, cls_fw.o) and edit /etc/modules
Copy tc binary to /usr/sbin/tc in root.tgz
Replace your current kernel with downloaded one (linux file in root directory of boot device)
Reboot ... qos should be working now.
QOS setup and init scripts
Here are my qos init scripts . There are three files ( /etc/qos.classes , /etc/qos.filters , /etc/rc.d/rc.traffic )
qos.classes - is used to define upstream/downstream values, guaranteed bandwidth for different qos classes and actual qos class tree (it is explained there with some samples)
qos.filters - categorization rules for qos classes (read comments in qos.classes you should know what they are then).
rc.traffic - traffic control init script, uses qos.classes and qos.filters for configuration. If you want to run it automatically, end of rc.firewall file is good place for this.
Idea behind this init script is quite simple, it uses HTB as primary queuing discipline with some SFQ classes on it's leaves. Root classes with maximum bandwidth specified as downstream/upstream are created automatically with id 1:1. You can then define class hierarchy with three types of subclasses. Each class has it's own classid /1:10-1:80/ and when you create it, you specify id of it's parent class.
define_class - Simple container class which is used only as container for other classes. In is specified with guaranteed and maximum bandwidth and ip specification filter.
define_class_sfq - Simple leaf is created with specified guaranteed and maximum allowed bandwidth and ip specification filter
define_class_qos - Full QOS leaf with 3 priority subclasses is created. |
|