/* * * using a meter to split traffic into different classes * */ #define EXCEPTION 192.168.137.50 #define INTERFACE eth0 $meter = trTCM( cir 128kbps, cbs 10kB, pir 256kbps, pbs 10kB ); dev INTERFACE { egress { class ( <$full> ) if ip_src == EXCEPTION ; class ( <$fast> ) if trTCM_green( $meter ) ; class ( <$slow> ) if trTCM_yellow( $meter ) ; drop if trTCM_red( $meter ) ; htb { class ( rate 600kbps, ceil 600kbps ) { $fast = class ( rate 256kbps, ceil 256kbps ) { sfq; } ; $slow = class ( rate 128kbps, ceil 128kbps ) { sfq; } ; $full = class ( rate 600kbps, ceil 600kbps ) { sfq; } ; } } } }