All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] HFSC Advanced Limiting
@ 2005-10-13 14:41 Eliot, Wireless and Server Administrator,  Great Lakes Internet
  2005-10-13 19:45 ` Jason Boxman
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: Eliot, Wireless and Server Administrator,  Great Lakes Internet @ 2005-10-13 14:41 UTC (permalink / raw)
  To: lartc

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

--===============1335067882==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C5D004.2CC3F3F6"

This is a multi-part message in MIME format.

[-- Attachment #2: Type: text/plain, Size: 3336 bytes --]


I am investigating changing our broadband bandwidth control scripts over to HFSC. What I would like to accomplish is this:

{ * DOWNLOAD *
  I need a download class for each user (we'll call it Class 1) that offers a minimum of lets say 384Kbps and a maximum of 1.5Mbps.

  The rates between 384Kbps and 1.5Mbps should be shared among all users. 

  Each user should always be able to get at least 384Kbps.

  Inside this main class for each user, there will be different categories of traffic (VoIP, P2P, General).

  The VoIP subclass (Class 11) should offer a real-time bandwidth of 64Kbps minimum with a maximum of 128Kbps, sharing anything over 80Kbps with other services.

  The VoIP subclass should also be able to dequeue the packets within a 30ms timeframe, but more importantly, it should not vary the time in which it dequeues the packets by more than 2-3ms between each packet. 

  The P2P subclass (Class 12) should offer a mimimum of 0Kbps and a maximum of 384Kbps, sharing all of its allotted bandwidth with anything that needs it.

  The General subclass (Class 13) should offer a minimum of 320Kbps and a maximum of 1.5Mbps sharing anything over 320Kbps. 
}

{ * UPLOAD *
  I also need an upload class for each user (we'll call it Class 2) that offers a minimum of lets say 256Kbps and a maximum of 768Kbps.

  The rates between 256Kbps and 768Kbps will be shared among all users.

  Each user should always be able to upload at a speed of at least 256Kbps.

  Ther should also be VoIP, P2P, and General subclasses on upload.

  VoIP (Class 21) should be exactly the same as in the download class.

  P2P (Class 22) should go from 0-256Kbps sharing all allotted bandwidth with anything that needs it.

  The General subclass (Class 23) should offer a minimum of 192Kbps upload with a max of 768Kbps, sharing anything over 192Kbps.
}

My biggest confusion is on how to get the rates to say something like:

If the VoIP upload subclass needs the bandwidth, it gets it, but otherwise the 64Kbps from the VoIP class is allotted to the General upload subclass giving it 256Kbps for upload and the General upload subclass does not need to share that 256Kbps with anything else except the VoIP subclass, but if it goes over the 256Kbps, it shares that extra bandwidth with other people. 

Are all of these criteria possible to meet with HFSC? If not, which ones need to be adjusted and why? What would you recommend in place of them?

What is the maximum number you can use on class IDs? 

How many customers should one router be able to handle with this kind of QoS policy? 

With a P3 800MHz proccessor in a router, will I be able to implement this complex of a QoS policy and still have it handle 4,000 customers? 

What about 10,000?

Is there any way to do triple numbering for class IDs (i.e. 1:1:2 instead of 1:12)? 

Also, if you do not know for certain any of the answers to these questions, please do not make conjecture. Only answer with facts.
Thank you in advance for any responses to this.

Eliot Gable
Certified Wireless Network Administrator
Cisco Certified Network Associate
CompTIA Security+ Certified
CompTIA Network+ Certified
Network and Systems Administrator
Great Lakes Internet, Inc.
112 North Howard
Croswell, MI 48422
810-679-3395


[-- Attachment #3: Type: text/html, Size: 4035 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
@ 2005-10-13 19:45 ` Jason Boxman
  2005-10-13 20:24 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Jason Boxman @ 2005-10-13 19:45 UTC (permalink / raw)
  To: lartc

On Thursday 13 October 2005 10:41, Eliot, Wireless and Server Administrator,  
Great Lakes Internet wrote:
> I am investigating changing our broadband bandwidth control scripts over to
> HFSC. What I would like to accomplish is this:
>
> { * DOWNLOAD *

Read the replies to the thread "shape downstream of a ppp link" as the same 
concept applies here.  It's difficult to shape ingress traffic.  You could, 
nevertheless, employ hfsc in some fashion for ingress either with IMQ or by 
attaching it to the LAN facing side of your network (pretend ingress is 
egress).

<snip>
> What is the maximum number you can use on class IDs?

0xFFF I believe.  (If it's actually 0xFFFF someone correct me.)

> How many customers should one router be able to handle with this kind of
> QoS policy?

That's going to depend on many things, one of which being packet matching.  
Were you going to use `tc filter` or, say, `iptables` matching?  For the 
former, with so many clients, others have posted they needed to use `tc 
filter` with hashtables or the performance hit was huge for thousands of `tc 
filter` rules.  (i.e. unusable.)

> With a P3 800MHz proccessor in a router, will I be able to implement this
> complex of a QoS policy and still have it handle 4,000 customers?
>
> What about 10,000?

Maybe.

> Is there any way to do triple numbering for class IDs (i.e. 1:1:2 instead
> of 1:12)?

No.

> Also, if you do not know for certain any of the answers to these questions,
> please do not make conjecture. Only answer with facts. Thank you in advance
> for any responses to this.

Excellent.  Then I'm sure you've read LARTC HOWTO and Google'd extensively 
already.

-- 

Jason Boxman
http://edseek.com/ - Linux and FOSS stuff

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
  2005-10-13 19:45 ` Jason Boxman
@ 2005-10-13 20:24 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
  2005-10-13 20:57 ` Tomasz Chilinski
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Eliot, Wireless and Server Administrator,  Great Lakes Internet @ 2005-10-13 20:24 UTC (permalink / raw)
  To: lartc

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

--===============2056787288==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C5D034.0F771C2D"

This is a multi-part message in MIME format.

[-- Attachment #2: Type: text/plain, Size: 9559 bytes --]


Thank you for your response.

I do know how to shape a specific direction of traffic. Given that I am the ISP sitting between the customer and the Internet, it is trivial for me to shape both directions.

Based on your response, I take it that 'tc filter' takes more of a performance hit than iptables? 

And yes, I have read the LARTC HOWTO and Google'd extensively. This is my current rough draft based on my specifications:

#!/sbin/runscript

start_test() {
        PIPEID="1000"
        USERNAME="test"
        BASEUPLOAD="256"
        BASEDOWNLOAD="384"
        MAXUPLOAD="768"
        BURSTUPLOAD=${MAXUPLOAD}
        BURSTLENGTHUPLOAD="2000"
        MAXDOWNLOAD="1500"
        BURSTDOWNLOAD=${MAXDOWNLOAD}
        BURSTLENGTHDOWNLOAD="2000"
        VOIPBASEUPLOAD="80"
        VOIPMAXUPLOAD="128"
        VOIPSHAREDUPLOAD=${VOIPSHAREDUPLOAD}
        VOIPBASEDOWNLOAD="80"
        VOIPMAXDOWNLOAD="128"
        VOIPSHAREDDOWNLOAD=${VOIPSHAREDDOWNLOAD}
        VOIPLATENCY="30"
        P2PBASEUPLOAD="0"
        P2PMAXUPLOAD="256"
        P2PSHAREDUPLOAD=${P2PMAXUPLOAD}
        P2PBASEDOWNLOAD="0"
        P2PMAXDOWNLOAD="384"
        P2PSHAREDDOWNLOAD=${P2PMAXDOWNLOAD}
        GENBASEUPLOAD="168"
        GENMAXUPLOAD="768"
        GENSHAREDUPLOAD=${GENMAXUPLOAD}
        GENBASEDOWNLOAD="384"
        GENMAXDOWNLOAD="1500"
        GENSHAREDDOWNLOAD=${GENMAXDOWNLOAD}
        start_user
        M1=00; M2=07; M3=BA; M4=25; M5=21; M6=B7;
        start_mac
}

setup_main_devices() {
        einfo "Starting bandwidth management on interfaces ..."
        einfo "  - Creating qdiscs on interfaces ..."
        CMD="tc qdisc add dev eth0 root handle 1: hfsc default 1"
        docmd
        CMD="tc qdisc add dev eth1 root handle 2: hfsc default 1"
        docmd
        CMD="tc class add dev eth0 parent 1:0 classid 1:1 hfsc ls m2 100Mbit ul m2 100Mbit"
        docmd
        CMD="tc class add dev eth1 parent 2:0 classid 2:1 hfsc ls m2 100Mbit ul m2 100Mbit"
        docmd
}

start_user() {
        einfo "Starting bandwidth management for ${USERNAME} ..."
        einfo "  - Creating classes on eth0 for upload control ..."
                CMD="tc class add dev eth0 parent 1:0 classid 1:${PIPEID} hfsc ls m1 ${BURSTUPLOAD}Kbit d ${BURSTLENGTHUPLOAD}ms m2 ${BASEUPLOAD}Kbit ul m2 ${MAXUPLOAD}Kbit"
                docmd
                CMD="tc class add dev eth0 parent 1:${PIPEID} classid 1:${PIPEID}0 hfsc sc umax 1500b dmax ${VOIPLATENCY}ms rate ${VOIPBASEUPLOAD}Kbit"
                docmd
                CMD="tc class add dev eth0 parent 1:${PIPEID} classid 1:${PIPEID}1 hfsc ls m2 ${P2PSHAREDUPLOAD}Kbit ul m2 ${P2PMAXUPLOAD}Kbit"
                docmd
                CMD="tc class add dev eth0 parent 1:${PIPEID} classid 1:${PIPEID}2 hfsc rt m2 ${GENBASEUPLOAD}Kbit ls m2 ${GENSHAREDUPLOAD}Kbit ul m2 ${GENMAXUPLOAD}Kbit"
                docmd
        einfo "  - Creating classes on eth1 for download control ..."
                CMD="tc class add dev eth1 parent 2:0 classid 2:${PIPEID} hfsc ls m1 ${BURSTDOWNLOAD}Kbit d ${BURSTLENGTHDOWNLOAD}ms m2 ${BASEDOWNLOAD}Kbit ul m2 ${MAXDOWNLOAD}Kbit"
                docmd
                CMD="tc class add dev eth1 parent 2:${PIPEID} classid 2:${PIPEID}0 hfsc sc umax 1500b dmax ${VOIPLATENCY}ms rate ${VOIPBASEDOWNLOAD}Kbit"
                docmd
                CMD="tc class add dev eth1 parent 2:${PIPEID} classid 2:${PIPEID}1 hfsc ls m2 ${P2PSHAREDDOWNLOAD}Kbit ul m2 ${P2PMAXDOWNLOAD}Kbit"
                docmd
                CMD="tc class add dev eth1 parent 2:${PIPEID} classid 2:${PIPEID}2 hfsc rt m2 ${GENBASEDOWNLOAD}Kbit ls m2 ${GENSHAREDDOWNLOAD}Kbit ul m2 ${GENMAXDOWNLOAD}Kbit"
                docmd
}

docmd() {
        if [[ "${CMD}" ]]; then
                ebegin "    - ${CMD}"
                $CMD
                if [[ $? -eq 0 ]]; then
                        eend 0;
                else
                        eend 1;
                fi
        fi
}

depend() {
        need net
}

start() {
        stop
        setup_main_devices
        start_test
}

stop() {
        ebegin "Stopping QoS ruleset"
        tc qdisc del dev eth0 root 2>&1 1>/dev/null
        tc qdisc del dev eth1 root 2>&1 1>/dev/null
        tc qdisc del dev eth2 root 2>&1 1>/dev/null
        eend 0
}

restart() {
        stop
        start
}

$1

Oddly, I keep getting these errors:


 * Starting bandwidth management on interfaces ...
 *   - Creating qdiscs on interfaces ...
 *     - tc qdisc add dev eth0 root handle 1: hfsc default 1...                                                     [ ok ]
 *     - tc qdisc add dev eth1 root handle 2: hfsc default 1...                                                     [ ok ]
 *     - tc class add dev eth0 parent 1:0 classid 1:1 hfsc ls m2 100Mbit ul m2 100Mbit...                           [ ok ]
 *     - tc class add dev eth1 parent 2:0 classid 2:1 hfsc ls m2 100Mbit ul m2 100Mbit...                           [ ok ]
 * Starting bandwidth management for test ...
 *   - Creating classes on eth0 for upload control ...
 *     - tc class add dev eth0 parent 1:0 classid 1:1000 hfsc ls m1 768Kbit d 2000ms m2 256Kbit ul m2 768Kbit...    [ ok ]
 *     - tc class add dev eth0 parent 1:1000 classid 1:10000 hfsc sc umax 1500b dmax 30ms rate 80Kbit...
RTNETLINK answers: File exists                                                                                      [ !! ]
 *     - tc class add dev eth0 parent 1:1000 classid 1:10001 hfsc ls m2 256Kbit ul m2 256Kbit...
RTNETLINK answers: File exists                                                                                      [ !! ]
 *     - tc class add dev eth0 parent 1:1000 classid 1:10002 hfsc rt m2 168Kbit ls m2 768Kbit ul m2 768Kbit...      [ ok ]
 *   - Creating classes on eth1 for download control ...
 *     - tc class add dev eth1 parent 2:0 classid 2:1000 hfsc ls m1 1500Kbit d 2000ms m2 384Kbit ul m2 1500Kbit...  [ ok ]
 *     - tc class add dev eth1 parent 2:1000 classid 2:10000 hfsc sc umax 1500b dmax 30ms rate 80Kbit...
RTNETLINK answers: Invalid argument                                                                                 [ !! ]
 *     - tc class add dev eth1 parent 2:1000 classid 2:10001 hfsc ls m2 384Kbit ul m2 384Kbit...
RTNETLINK answers: Invalid argument                                                                                 [ !! ]
 *     - tc class add dev eth1 parent 2:1000 classid 2:10002 hfsc rt m2 384Kbit ls m2 1500Kbit ul m2 1500Kbit...
RTNETLINK answers: Invalid argument                                                                                 [ !! ]


Also, note that I am deleting the qdiscs that exist each time I start the script, so there should not be any entries that still exist when I run the script again.

I'm also not certain if what I am doing here actually achieves my goals, but this is my best guess at the moment. 

And, just in case you are wondering, I have not gotten to the 'tc filter' or 'iptables <blah> -j CLASSIFY' parts yet.

Thanks in advance.

Eliot Gable
Certified Wireless Network Administrator
Cisco Certified Network Associate
CompTIA Security+ Certified
CompTIA Network+ Certified
Network and Systems Administrator
Great Lakes Internet, Inc.
112 North Howard
Croswell, MI 48422
810-679-3395



-----Original Message-----
From: lartc-bounces@mailman.ds9a.nl on behalf of Jason Boxman
Sent: Thu 10/13/2005 3:45 PM
To: lartc@mailman.ds9a.nl
Subject: Re: [LARTC] HFSC Advanced Limiting
 
On Thursday 13 October 2005 10:41, Eliot, Wireless and Server Administrator,  
Great Lakes Internet wrote:
> I am investigating changing our broadband bandwidth control scripts over to
> HFSC. What I would like to accomplish is this:
>
> { * DOWNLOAD *

Read the replies to the thread "shape downstream of a ppp link" as the same 
concept applies here.  It's difficult to shape ingress traffic.  You could, 
nevertheless, employ hfsc in some fashion for ingress either with IMQ or by 
attaching it to the LAN facing side of your network (pretend ingress is 
egress).

<snip>
> What is the maximum number you can use on class IDs?

0xFFF I believe.  (If it's actually 0xFFFF someone correct me.)

> How many customers should one router be able to handle with this kind of
> QoS policy?

That's going to depend on many things, one of which being packet matching.  
Were you going to use `tc filter` or, say, `iptables` matching?  For the 
former, with so many clients, others have posted they needed to use `tc 
filter` with hashtables or the performance hit was huge for thousands of `tc 
filter` rules.  (i.e. unusable.)

> With a P3 800MHz proccessor in a router, will I be able to implement this
> complex of a QoS policy and still have it handle 4,000 customers?
>
> What about 10,000?

Maybe.

> Is there any way to do triple numbering for class IDs (i.e. 1:1:2 instead
> of 1:12)?

No.

> Also, if you do not know for certain any of the answers to these questions,
> please do not make conjecture. Only answer with facts. Thank you in advance
> for any responses to this.

Excellent.  Then I'm sure you've read LARTC HOWTO and Google'd extensively 
already.

-- 

Jason Boxman
http://edseek.com/ - Linux and FOSS stuff

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



[-- Attachment #3: Type: text/html, Size: 18583 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
  2005-10-13 19:45 ` Jason Boxman
  2005-10-13 20:24 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
@ 2005-10-13 20:57 ` Tomasz Chilinski
  2005-10-14 12:53 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Tomasz Chilinski @ 2005-10-13 20:57 UTC (permalink / raw)
  To: lartc

On Thu, 13 Oct 2005 16:24:06 -0400, Eliot wrote
> Oddly, I keep getting these errors:
> 
> parent 1:1000 classid 1:10000 hfsc sc umax 1500b dmax 30ms rate 80Kbit...
> RTNETLINK answers: File exists                                       
>                                                [ !! ] *     - tc 
> class add dev eth0 parent 1:1000 classid 1:10001 hfsc ls m2 256Kbit 
> ul m2 256Kbit... RTNETLINK answers: File exists                      

Classid should be in range 0x0000-0xFFFF, so it's cause of problem in this
script snippet.

> Eliot Gable
> Certified Wireless Network Administrator
> Cisco Certified Network Associate
> CompTIA Security+ Certified
> CompTIA Network+ Certified
> Network and Systems Administrator
> Great Lakes Internet, Inc.
> 112 North Howard
> Croswell, MI 48422
> 810-679-3395

--
Kind regards,
Tomasz Chilinski
RHCX, RHCE, RedHat Academy Instructor
Cisco Certified Academy Instructor
LMS developer: http://lms.rulez.pl
Kadu developer: http://www.kadu.net
Director of Chilan.com network engineering department

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (2 preceding siblings ...)
  2005-10-13 20:57 ` Tomasz Chilinski
@ 2005-10-14 12:53 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
  2005-10-14 13:07 ` Nickola Kolev
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Eliot, Wireless and Server Administrator,  Great Lakes Internet @ 2005-10-14 12:53 UTC (permalink / raw)
  To: lartc

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

--===============0283771713==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C5D0BE.9A493D3E"

This is a multi-part message in MIME format.

[-- Attachment #2: Type: text/plain, Size: 1804 bytes --]


So, then you're saying 1:10001 is equivilant to 110,001, which would be 0x1ADB1 -- as opposed to 10,001 = 0x2711 ?


Eliot Gable
Certified Wireless Network Administrator
Cisco Certified Network Associate
CompTIA Security+ Certified
CompTIA Network+ Certified
Network and Systems Administrator
Great Lakes Internet, Inc.
112 North Howard
Croswell, MI 48422
810-679-3395



-----Original Message-----
From: lartc-bounces@mailman.ds9a.nl on behalf of Tomasz Chilinski
Sent: Thu 10/13/2005 4:57 PM
To: lartc
Subject: RE: [LARTC] HFSC Advanced Limiting
 
On Thu, 13 Oct 2005 16:24:06 -0400, Eliot wrote
> Oddly, I keep getting these errors:
> 
> parent 1:1000 classid 1:10000 hfsc sc umax 1500b dmax 30ms rate 80Kbit...
> RTNETLINK answers: File exists                                       
>                                                [ !! ] *     - tc 
> class add dev eth0 parent 1:1000 classid 1:10001 hfsc ls m2 256Kbit 
> ul m2 256Kbit... RTNETLINK answers: File exists                      

Classid should be in range 0x0000-0xFFFF, so it's cause of problem in this
script snippet.

> Eliot Gable
> Certified Wireless Network Administrator
> Cisco Certified Network Associate
> CompTIA Security+ Certified
> CompTIA Network+ Certified
> Network and Systems Administrator
> Great Lakes Internet, Inc.
> 112 North Howard
> Croswell, MI 48422
> 810-679-3395

--
Kind regards,
Tomasz Chilinski
RHCX, RHCE, RedHat Academy Instructor
Cisco Certified Academy Instructor
LMS developer: http://lms.rulez.pl
Kadu developer: http://www.kadu.net
Director of Chilan.com network engineering department

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



[-- Attachment #3: Type: text/html, Size: 3155 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (3 preceding siblings ...)
  2005-10-14 12:53 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
@ 2005-10-14 13:07 ` Nickola Kolev
  2005-10-14 13:12 ` Tomasz Chilinski
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Nickola Kolev @ 2005-10-14 13:07 UTC (permalink / raw)
  To: lartc


[-- Attachment #1.1: Type: text/plain, Size: 415 bytes --]

Hello,

On Fri, 14 Oct 2005 08:53:15 -0400
"Eliot, Wireless and Server Administrator,  Great Lakes Internet"
<support8@greatlakes.net> wrote:

> 
> So, then you're saying 1:10001 is equivilant to 110,001, which would
> be 0x1ADB1 -- as opposed to 10,001 = 0x2711 ?

Nope, what he meant was that most probably 1:10001 is recognised as
1:1000 (i.e. the 1 at the end is just cut off).

Regards,
Nickola

[-- Attachment #1.2: Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 143 bytes --]

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (4 preceding siblings ...)
  2005-10-14 13:07 ` Nickola Kolev
@ 2005-10-14 13:12 ` Tomasz Chilinski
  2005-10-14 13:14 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Tomasz Chilinski @ 2005-10-14 13:12 UTC (permalink / raw)
  To: lartc

On Fri, 14 Oct 2005 08:53:15 -0400, Eliot, Wireless and Server Administrator,
Great Lakes Internet wrote
> So, then you're saying 1:10001 is equivilant to 110,001, which would 
> be 0x1ADB1 -- as opposed to 10,001 = 0x2711 ?

I would like to say that classids are not decimal numbers but hexadecimal,
i.e. if you've got decimal class number 65535 you show write it down in tc
command as FFFF. I hope now it's clear ;-)

> Eliot Gable
> Certified Wireless Network Administrator
> Cisco Certified Network Associate
> CompTIA Security+ Certified
> CompTIA Network+ Certified
> Network and Systems Administrator
> Great Lakes Internet, Inc.
> 112 North Howard
> Croswell, MI 48422
> 810-679-3395

> --
Kind regards,
Tomasz Chilinski
RHCX, RHCE, RedHat Academy Instructor
Cisco Certified Academy Instructor
LMS developer: http://lms.rulez.pl
Kadu developer: http://www.kadu.net
Director of Chilan.com network engineering department

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (5 preceding siblings ...)
  2005-10-14 13:12 ` Tomasz Chilinski
@ 2005-10-14 13:14 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
  2005-10-14 16:18 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Eliot, Wireless and Server Administrator,  Great Lakes Internet @ 2005-10-14 13:14 UTC (permalink / raw)
  To: lartc

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

--===============1696528542==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C5D0C1.44E8855E"

This is a multi-part message in MIME format.

[-- Attachment #2: Type: text/plain, Size: 1770 bytes --]


Thank you. That did solve my problem. My previous question still stands, though.


Eliot Gable
Certified Wireless Network Administrator
Cisco Certified Network Associate
CompTIA Security+ Certified
CompTIA Network+ Certified
Network and Systems Administrator
Great Lakes Internet, Inc.
112 North Howard
Croswell, MI 48422
810-679-3395



-----Original Message-----
From: lartc-bounces@mailman.ds9a.nl on behalf of Tomasz Chilinski
Sent: Thu 10/13/2005 4:57 PM
To: lartc
Subject: RE: [LARTC] HFSC Advanced Limiting
 
On Thu, 13 Oct 2005 16:24:06 -0400, Eliot wrote
> Oddly, I keep getting these errors:
> 
> parent 1:1000 classid 1:10000 hfsc sc umax 1500b dmax 30ms rate 80Kbit...
> RTNETLINK answers: File exists                                       
>                                                [ !! ] *     - tc 
> class add dev eth0 parent 1:1000 classid 1:10001 hfsc ls m2 256Kbit 
> ul m2 256Kbit... RTNETLINK answers: File exists                      

Classid should be in range 0x0000-0xFFFF, so it's cause of problem in this
script snippet.

> Eliot Gable
> Certified Wireless Network Administrator
> Cisco Certified Network Associate
> CompTIA Security+ Certified
> CompTIA Network+ Certified
> Network and Systems Administrator
> Great Lakes Internet, Inc.
> 112 North Howard
> Croswell, MI 48422
> 810-679-3395

--
Kind regards,
Tomasz Chilinski
RHCX, RHCE, RedHat Academy Instructor
Cisco Certified Academy Instructor
LMS developer: http://lms.rulez.pl
Kadu developer: http://www.kadu.net
Director of Chilan.com network engineering department

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



[-- Attachment #3: Type: text/html, Size: 3121 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (6 preceding siblings ...)
  2005-10-14 13:14 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
@ 2005-10-14 16:18 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
  2005-10-17 19:31 ` Andy Furniss
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Eliot, Wireless and Server Administrator,  Great Lakes Internet @ 2005-10-14 16:18 UTC (permalink / raw)
  To: lartc

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

--===============2015405968==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C5D0DA.E5950CAC"

This is a multi-part message in MIME format.

[-- Attachment #2: Type: text/plain, Size: 5669 bytes --]


Ok, my incoming mail is not working right now, so I don't know who has responded to my posts, or if anyone has. I have figured out how to trap the TC output and redirect it to a file (finally) by using 'tc <blah> &>/file'. Also, it occured to me that 0xFFFF limit might actually mean 0xF:0xFFF for the class IDs. Is that correct?

I have made some pretty big changes to my script.
Now, I seem to be having issues with deleting classes I added. See the output below for details.


bash-2.05b# ./qos start
 * Stopping QoS ruleset...
 *     - tc qdisc del dev eth0 root...                                                                              [ ok ]
 *     - tc qdisc del dev eth1 root...                                                                              [ ok ]
 * Starting bandwidth management on interfaces ...
 *   - Creating qdiscs on interfaces ...
 *     - tc qdisc add dev eth0 root handle 1: hfsc default 1...                                                     [ ok ]
 *     - tc class add dev eth0 parent 1:0 classid 1:1 hfsc ls m2 100Mbit ul m2 100Mbit...                           [ ok ]
 *     - tc qdisc add dev eth1 root handle 2: hfsc default 1...                                                     [ ok ]
 *     - tc class add dev eth1 parent 2:0 classid 2:1 hfsc ls m2 100Mbit ul m2 100Mbit...                           [ ok ]
 * Starting bandwidth management for test ...
 *   - Creating classes on eth0 for upload control ...
 *     - tc class add dev eth0 parent 1:0 classid 1:300  hfsc ls m1 768Kbit d 2000ms m2 256Kbit ul m2 768Kbit...    [ ok ]
 *     - tc class add dev eth0 parent 1:300 classid 1:301 hfsc sc umax 1500b dmax 30ms rate 80Kbit...               [ ok ]
 *     - tc class add dev eth0 parent 1:300 classid 1:302 hfsc ls m2 256Kbit ul m2 256Kbit...                       [ ok ]
 *     - tc class add dev eth0 parent 1:300 classid 1:303 hfsc rt m2 168Kbit ls m2 768Kbit ul m2 768Kbit...         [ ok ]
 *   - Creating classes on eth1 for download control ...
 *     - tc class add dev eth1 parent 2:0 classid 2:300 hfsc ls m1 1500Kbit d 2000ms m2 384Kbit ul m2 1500Kbit...   [ ok ]
 *     - tc class add dev eth1 parent 2:300 classid 2:301 hfsc sc umax 1500b dmax 30ms rate 80Kbit...               [ ok ]
 *     - tc class add dev eth1 parent 2:300 classid 2:302 hfsc ls m2 384Kbit ul m2 384Kbit...                       [ ok ]
 *     - tc class add dev eth1 parent 2:300 classid 2:303 hfsc rt m2 384Kbit ls m2 1500Kbit ul m2 1500Kbit...       [ ok ]
bash-2.05b# QOSUSER="test" ./qos stop
 * Stopping bandwidth management for test ...
 *   - Deleting classes on eth0 for upload control ...
 *     - tc class del dev eth0 parent 1:300 classid 1:301 hfsc sc umax 1500b dmax 30ms rate 80Kbit...               [ ok ]
 *     - tc class del dev eth0 parent 1:300 classid 1:302 hfsc ls m2 256Kbit ul m2 256Kbit...                       [ ok ]
 *     - tc class del dev eth0 parent 1:300 classid 1:303 hfsc rt m2 168Kbit ls m2 768Kbit ul m2 768Kbit...         [ ok ]
 *     - tc class del dev eth0 parent 1:0 classid 1:300  hfsc ls m1 768Kbit d 2000ms m2 256Kbit ul m2 768Kbit...
 * >>>>> RTNETLINK answers: Device or resource busy                                                                 [ !! ]
 *   - Deleting classes on eth1 for download control ...
 *     - tc class del dev eth1 parent 2:300 classid 2:301 hfsc sc umax 1500b dmax 30ms rate 80Kbit...               [ ok ]
 *     - tc class del dev eth1 parent 2:300 classid 2:302 hfsc ls m2 384Kbit ul m2 384Kbit...                       [ ok ]
 *     - tc class del dev eth1 parent 2:300 classid 2:303 hfsc rt m2 384Kbit ls m2 1500Kbit ul m2 1500Kbit...       [ ok ]
 *     - tc class del dev eth1 parent 2:0 classid 2:300 hfsc ls m1 1500Kbit d 2000ms m2 384Kbit ul m2 1500Kbit...
 * >>>>> RTNETLINK answers: Device or resource busy                                                                 [ !! ]

Thanks again for any help.


Eliot Gable
Certified Wireless Network Administrator
Cisco Certified Network Associate
CompTIA Security+ Certified
CompTIA Network+ Certified
Network and Systems Administrator
Great Lakes Internet, Inc.
112 North Howard
Croswell, MI 48422
810-679-3395



-----Original Message-----
From: lartc-bounces@mailman.ds9a.nl on behalf of Tomasz Chilinski
Sent: Thu 10/13/2005 4:57 PM
To: lartc
Subject: RE: [LARTC] HFSC Advanced Limiting
 
On Thu, 13 Oct 2005 16:24:06 -0400, Eliot wrote
> Oddly, I keep getting these errors:
> 
> parent 1:1000 classid 1:10000 hfsc sc umax 1500b dmax 30ms rate 80Kbit...
> RTNETLINK answers: File exists                                       
>                                                [ !! ] *     - tc 
> class add dev eth0 parent 1:1000 classid 1:10001 hfsc ls m2 256Kbit 
> ul m2 256Kbit... RTNETLINK answers: File exists                      

Classid should be in range 0x0000-0xFFFF, so it's cause of problem in this
script snippet.

> Eliot Gable
> Certified Wireless Network Administrator
> Cisco Certified Network Associate
> CompTIA Security+ Certified
> CompTIA Network+ Certified
> Network and Systems Administrator
> Great Lakes Internet, Inc.
> 112 North Howard
> Croswell, MI 48422
> 810-679-3395

--
Kind regards,
Tomasz Chilinski
RHCX, RHCE, RedHat Academy Instructor
Cisco Certified Academy Instructor
LMS developer: http://lms.rulez.pl
Kadu developer: http://www.kadu.net
Director of Chilan.com network engineering department

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



[-- Attachment #3: Type: text/html, Size: 10981 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (7 preceding siblings ...)
  2005-10-14 16:18 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
@ 2005-10-17 19:31 ` Andy Furniss
  2005-10-19 10:49 ` Andy Furniss
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Andy Furniss @ 2005-10-17 19:31 UTC (permalink / raw)
  To: lartc

Eliot, Wireless and Server Administrator, Great Lakes Internet wrote:
> Thank you for your response.
> 
> I do know how to shape a specific direction of traffic. Given that I am the ISP sitting between the customer and the Internet, it is trivial for me to shape both directions.
> 

I think the point Jason was making is that you are shaping from the 
wrong end of the bottleneck if you shape traffic from your customers.

If their link speed to you is high and you shape to well below it then 
it won't be too bad, but the point stands that it is not the same as 
when shaping from the "right" end of the bottleneck, especially WRT 
latency and jitter.

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (8 preceding siblings ...)
  2005-10-17 19:31 ` Andy Furniss
@ 2005-10-19 10:49 ` Andy Furniss
  2005-10-19 10:55 ` Andy Furniss
  2005-10-20 12:54 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
  11 siblings, 0 replies; 13+ messages in thread
From: Andy Furniss @ 2005-10-19 10:49 UTC (permalink / raw)
  To: lartc

Eliot, Wireless and Server Administrator, Great Lakes Internet wrote:

> 
> Also, if you do not know for certain any of the answers to these questions, please do not make conjecture. Only answer with facts.

Not many people seem to use hfsc, so you are loosing out on general 
advice by saying this.

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (9 preceding siblings ...)
  2005-10-19 10:49 ` Andy Furniss
@ 2005-10-19 10:55 ` Andy Furniss
  2005-10-20 12:54 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
  11 siblings, 0 replies; 13+ messages in thread
From: Andy Furniss @ 2005-10-19 10:55 UTC (permalink / raw)
  To: lartc

Eliot, Wireless and Server Administrator, Great Lakes Internet wrote:

>         CMD="tc qdisc add dev eth0 root handle 1: hfsc default 1"

Default should be a leaf class.

      - tc class add dev eth1 parent 2:1000 classid 2:10000 hfsc sc umax 
1500b dmax 30ms rate 80Kbit...

If you attach qdisc to eth then it sees packet length as ip len + 14 so 
use 1514.

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [LARTC] HFSC Advanced Limiting
  2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
                   ` (10 preceding siblings ...)
  2005-10-19 10:55 ` Andy Furniss
@ 2005-10-20 12:54 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
  11 siblings, 0 replies; 13+ messages in thread
From: Eliot, Wireless and Server Administrator,  Great Lakes Internet @ 2005-10-20 12:54 UTC (permalink / raw)
  To: lartc

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

--===============1814454749==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C5D575.5DA9B246"

This is a multi-part message in MIME format.

[-- Attachment #2: Type: text/plain, Size: 946 bytes --]


Thank you.

Eliot Gable
Certified Wireless Network Administrator
Cisco Certified Network Associate
CompTIA Security+ Certified
CompTIA Network+ Certified
Network and Systems Administrator
Great Lakes Internet, Inc.
112 North Howard
Croswell, MI 48422
810-679-3395



-----Original Message-----
From: Andy Furniss [mailto:andy.furniss@dsl.pipex.com]
Sent: Wed 10/19/2005 6:55 AM
To: Eliot, Wireless and Server Administrator, Great Lakes Internet
Cc: jasonb@edseek.com; lartc@mailman.ds9a.nl
Subject: Re: [LARTC] HFSC Advanced Limiting
 
Eliot, Wireless and Server Administrator, Great Lakes Internet wrote:

>         CMD="tc qdisc add dev eth0 root handle 1: hfsc default 1"

Default should be a leaf class.

      - tc class add dev eth1 parent 2:1000 classid 2:10000 hfsc sc umax 
1500b dmax 30ms rate 80Kbit...

If you attach qdisc to eth then it sees packet length as ip len + 14 so 
use 1514.

Andy.



[-- Attachment #3: Type: text/html, Size: 1597 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2005-10-20 12:54 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-13 14:41 [LARTC] HFSC Advanced Limiting Eliot, Wireless and Server Administrator,  Great Lakes Internet
2005-10-13 19:45 ` Jason Boxman
2005-10-13 20:24 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
2005-10-13 20:57 ` Tomasz Chilinski
2005-10-14 12:53 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
2005-10-14 13:07 ` Nickola Kolev
2005-10-14 13:12 ` Tomasz Chilinski
2005-10-14 13:14 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
2005-10-14 16:18 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet
2005-10-17 19:31 ` Andy Furniss
2005-10-19 10:49 ` Andy Furniss
2005-10-19 10:55 ` Andy Furniss
2005-10-20 12:54 ` Eliot, Wireless and Server Administrator,  Great Lakes Internet

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.