sangoma WAN boards with lartc

Linux Advanced Routing and Traffic Control

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

 



Hi

anyone using sangoma hardware with lartc? pls let me know 

Thanks
Imthiyaz

Original Message:
-----------------
From:  lartc-request@xxxxxxxxxxxxxxx
Date: Fri, 15 Jun 2007 12:00:07 +0200 (CEST)
To: lartc@xxxxxxxxxxxxxxx
Subject: LARTC Digest, Vol 28, Issue 23


Send LARTC mailing list submissions to
	lartc@xxxxxxxxxxxxxxx

To subscribe or unsubscribe via the World Wide Web, visit
	http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
or, via email, send a message with subject or body 'help' to
	lartc-request@xxxxxxxxxxxxxxx

You can reach the person managing the list at
	lartc-owner@xxxxxxxxxxxxxxx

When replying, please edit your Subject line so it is more specific
than "Re: Contents of LARTC digest..."


Today's Topics:

   1. RE: Re: PQ questions (Tim Enos)
   2. Re: PQ questions (Christian Benvenuti)
   3. RE: Re: PQ questions (Salim S I)
   4. Re: PQ questions (Christian Benvenuti)
   5. RE: Re: PQ questions (Salim S I)
   6. RE: Re: multiple routing tables for internal router programs
      (Salim S I)


----------------------------------------------------------------------

Message: 1
Date: Fri, 15 Jun 2007 02:43:21 -0400
From: "Tim Enos" <tenos@xxxxxxxxxx>
Subject: RE:  Re: PQ questions
To: "'Christian Benvenuti'" <christian.benvenuti@xxxxxxxxx>,
	<lartc@xxxxxxxxxxxxxxx>
Message-ID: <200706150643.l5F6hYeo015579@xxxxxxxxxx>
Content-Type: text/plain;	charset="us-ascii"

Hi Christian,

Thanks for the help. Please see my in-line comments:

> -----Original Message-----
> From: lartc-bounces@xxxxxxxxxxxxxxx [mailto:lartc-bounces@xxxxxxxxxxxxxxx]
> On Behalf Of Christian Benvenuti
> Sent: Thursday, June 14, 2007 4:44 PM
> To: lartc@xxxxxxxxxxxxxxx
> Subject:  Re: PQ questions
> 
> Hi,
> 
> >Hi all,
> >
> >First, let me say I've been most impressed with how quickly and
> >professionally people on this list ask and answer questions.
> >
> >Next, let me say that with which I need help is properly configuring
> strict
> >PQ, and gathering certain stats. Specifically:
> >
> >- I need to create a priority queue with four queues (let's say they are
> of
> >high, medium, normal, and low priority)
> >
> >- I need to use tc filters such that:
> >
> >	- EF (0xB8) goes to the high priority queue
> >
> >	- AF21 (0x50) goes to the medium priority queue
> >
> >	- AF11 (0x28) goes to the normal priority queue, and
> >
> >	- BE traffic goes to the low priority queue
> >
> >- For stat collection, I need to see:
> >
> >	- how many bytes and packets are in each of the four queues
> >
> >- My configuration thus far is:
> >
> >tc qdisc add dev eml_test root handle 1: prio bands 4 priomap 0 1 2 3
> >
> >tc filter add dev eml_test parent 1:0 prio 1 protocol ip u32 match ip tos
> >0xb8 0xff flowid 1:1
> >
> >tc filter add dev eml_test parent 1:0 prio 2 protocol ip u32 match ip tos
> >0x80 0xff flowid 1:2
> >
> >tc filter add dev eml_test parent 1:0 prio 3 protocol ip u32 match ip tos
> >0x50 0xff flowid 1:3
> >
> >tc filter add dev eml_test parent 1:0 prio 4 protocol ip u32 match ip tos
> >0x00 0xff flowid 1:4
> >__________
> 
> Here is an article you may find useful:
> 	http://citeseer.ist.psu.edu/539891.html
> 
> Here is the description of the configuration parameters of the
> PRIO qdisc:
> 	http://www.lartc.org/howto/lartc.qdisc.classful.html#AEN903
>         (just in case you did not know what the "priomap" option is
>          used for)
> 
> >My questions are:
> >
> >- What if anything is missing/requiring change in my config given the
> stated
> >requirements?
> 
> Your config does not prevent an higher priority class from starving
> a lower priority class.

Exactly. That is requirement.

> You can prevent it in two different ways (at
> least):

Don't want to prevent it right now.

> 
> 1) You can assign a TBF qdisc (Token Bucket) to the PRIO classes
>    TBF: http://www.lartc.org/howto/lartc.qdisc.classless.html#AEN691
> 
> 2) You can replace the PRIO qdisc with something like HTB/CBQ
>    CBQ: http://www.lartc.org/howto/lartc.qdisc.classful.html#AEN939
>    HTB: http://luxik.cdi.cz/~devik/qos/htb/
> 
> >- What if any command should I use to view how many bytes and packets are
> in
> >each of the four queues?
> 
> The PRIO qdisc does not return statistics for its classes.
> However, a simple workaround consists of explicitly adding
> a qdisc to the four classes.
> By default the PRIO qdisc assigns a pFIFO (packet FIFO) qdisc to
> its classes.
> Here is how you can replace the 4 default pFIFO qdisc with 4
> explicit pFIFO qdisc:
> 
> tc qdisc add dev eml_test parent 1:1 pfifo limit 1000
> tc qdisc add dev eml_test parent 1:2 pfifo limit 1000
> tc qdisc add dev eml_test parent 1:3 pfifo limit 1000
> tc qdisc add dev eml_test parent 1:4 pfifo limit 1000
> 
> Now you can get the stats with:
> 	tc -s -d qdisc list dev eml_test

Those stats are nice to have, but the ones I must have are for how many
bytes/packets are enqueued at whatever time I check the queues. 

> 
> Regards
> /Christian
> [ http://benve.info ]
> 

I have tried to configure PQ to have two queues per filter with no success.
Is it even possible to have (what I'll call) hierarchical PQ? I have yet to
find it.

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



------------------------------

Message: 2
Date: Fri, 15 Jun 2007 09:32:06 +0200
From: Christian Benvenuti <christian.benvenuti@xxxxxxxxx>
Subject:  Re: PQ questions
To: lartc@xxxxxxxxxxxxxxx
Message-ID: <1181892726.2702.7.camel@benve-laptop>
Content-Type: text/plain

Hi, 

> > Your config does not prevent an higher priority class from starving
> > a lower priority class.
> 
> Exactly. That is requirement.

OK

> Those stats are nice to have, but the ones I must have are for how many
> bytes/packets are enqueued at whatever time I check the queues. 

That information is there. Here is an example:
(b=bytes p=packets)

#tc -s -d qdisc list dev eth1

qdisc prio 1:  root bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
  Sent 85357186 bytes 59299 pkt (dropped 0, overlimits 0 requeues 0)
  rate 0bit 0pps backlog 0b 35p requeues 0
                         +-> This field is not initialized for this
                             qdisc type
qdisc pfifo 10:  parent 1:1 limit 1000p
  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
                ^^^^^^^^^^^^^
qdisc pfifo 20: parent 1:2 limit 1000p
  Sent 85357120 bytes 59298 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 50470b 35p requeues 0
                ^^^^^^^^^^^^^^^^^^
qdisc pfifo 30: parent 1:3 limit 1000p
  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
  rate 0bit 0pps backlog 0b 0p requeues 0
                 ^^^^^^^^^^^^^

> I have tried to configure PQ to have two queues per filter with no
success.

What do you mean?

> Is it even possible to have (what I'll call) hierarchical PQ? I have yet
to
> find it.

Something like this?

tc qdisc add dev eth1 handle 1: root prio
tc qdisc add dev eth1 parent 1:1 handle 10 prio
tc qdisc add dev eth1 parent 1:2 handle 20 prio
tc qdisc add dev eth1 parent 1:3 handle 30 prio

Regards
/Christian
[ http://benve.info ]




------------------------------

Message: 3
Date: Fri, 15 Jun 2007 15:46:31 +0800
From: "Salim S I" <salim.si@xxxxxxxxxxxxxxxx>
Subject: RE:  Re: PQ questions
To: "'Christian Benvenuti'" <christian.benvenuti@xxxxxxxxx>,
	<lartc@xxxxxxxxxxxxxxx>
Message-ID: <001801c7af21$4d9a5510$5964a8c0@SalimSi>
Content-Type: text/plain;	charset="us-ascii"

Slightly offtopic... Has anyone really experienced starving of low
priority traffic with PRIO qdisc?
In my setup, I never achieved that, though I also wanted exactly that
situation. I gave both the classes same amount of traffic at the same
time. High prio got more bandwidth, but no starvation, even after I sent
more traffic than the link capacity.

> -----Original Message-----
> From: lartc-bounces@xxxxxxxxxxxxxxx
[mailto:lartc-bounces@xxxxxxxxxxxxxxx]
> On Behalf Of Christian Benvenuti
> Sent: Friday, June 15, 2007 3:32 PM
> To: lartc@xxxxxxxxxxxxxxx
> Subject:  Re: PQ questions
> 
> Hi,
> 
> > > Your config does not prevent an higher priority class from
starving
> > > a lower priority class.
> >
> > Exactly. That is requirement.
> 
> OK
> 
> > Those stats are nice to have, but the ones I must have are for how
many
> > bytes/packets are enqueued at whatever time I check the queues.
> 
> That information is there. Here is an example:
> (b=bytes p=packets)
> 
> #tc -s -d qdisc list dev eth1
> 
> qdisc prio 1:  root bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
>   Sent 85357186 bytes 59299 pkt (dropped 0, overlimits 0 requeues 0)
>   rate 0bit 0pps backlog 0b 35p requeues 0
>                          +-> This field is not initialized for this
>                              qdisc type
> qdisc pfifo 10:  parent 1:1 limit 1000p
>   Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>  rate 0bit 0pps backlog 0b 0p requeues 0
>                 ^^^^^^^^^^^^^
> qdisc pfifo 20: parent 1:2 limit 1000p
>   Sent 85357120 bytes 59298 pkt (dropped 0, overlimits 0 requeues 0)
>  rate 0bit 0pps backlog 50470b 35p requeues 0
>                 ^^^^^^^^^^^^^^^^^^
> qdisc pfifo 30: parent 1:3 limit 1000p
>   Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>   rate 0bit 0pps backlog 0b 0p requeues 0
>                  ^^^^^^^^^^^^^
> 
> > I have tried to configure PQ to have two queues per filter with no
> success.
> 
> What do you mean?
> 
> > Is it even possible to have (what I'll call) hierarchical PQ? I have
yet
> to
> > find it.
> 
> Something like this?
> 
> tc qdisc add dev eth1 handle 1: root prio
> tc qdisc add dev eth1 parent 1:1 handle 10 prio
> tc qdisc add dev eth1 parent 1:2 handle 20 prio
> tc qdisc add dev eth1 parent 1:3 handle 30 prio
> 
> Regards
> /Christian
> [ http://benve.info ]
> 
> 
> _______________________________________________
> LARTC mailing list
> LARTC@xxxxxxxxxxxxxxx
> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc




------------------------------

Message: 4
Date: Fri, 15 Jun 2007 10:16:12 +0200
From: Christian Benvenuti <christian.benvenuti@xxxxxxxxx>
Subject:  Re: PQ questions
To: lartc@xxxxxxxxxxxxxxx
Message-ID: <1181895372.2702.20.camel@benve-laptop>
Content-Type: text/plain

Hi,
  a class is starved only if those with higher priority are
always (of pretty often) backlogged and do not give the lower
priority classes a chance to transmit.
Therefore, if you transmit at a rate smaller than your CPU/s and
NIC/s can handle you will not experience any starving.

For example, if you generate 50Mbit traffic on a 100Mbit NIC
it is likely that you won't see any starving (unless your system is
not able to handle 50Mbit traffic because of a complex TC or
iptables configuration that consumes lot of CPU).

Regards
/Christian
[ http://benve.info ]

On Fri, 2007-06-15 at 15:46 +0800, Salim S I wrote:
> Slightly offtopic... Has anyone really experienced starving of low
> priority traffic with PRIO qdisc?
> In my setup, I never achieved that, though I also wanted exactly that
> situation. I gave both the classes same amount of traffic at the same
> time. High prio got more bandwidth, but no starvation, even after I sent
> more traffic than the link capacity.
> 
> > -----Original Message-----
> > From: lartc-bounces@xxxxxxxxxxxxxxx
> [mailto:lartc-bounces@xxxxxxxxxxxxxxx]
> > On Behalf Of Christian Benvenuti
> > Sent: Friday, June 15, 2007 3:32 PM
> > To: lartc@xxxxxxxxxxxxxxx
> > Subject:  Re: PQ questions
> > 
> > Hi,
> > 
> > > > Your config does not prevent an higher priority class from
> starving
> > > > a lower priority class.
> > >
> > > Exactly. That is requirement.
> > 
> > OK
> > 
> > > Those stats are nice to have, but the ones I must have are for how
> many
> > > bytes/packets are enqueued at whatever time I check the queues.
> > 
> > That information is there. Here is an example:
> > (b=bytes p=packets)
> > 
> > #tc -s -d qdisc list dev eth1
> > 
> > qdisc prio 1:  root bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
> >   Sent 85357186 bytes 59299 pkt (dropped 0, overlimits 0 requeues 0)
> >   rate 0bit 0pps backlog 0b 35p requeues 0
> >                          +-> This field is not initialized for this
> >                              qdisc type
> > qdisc pfifo 10:  parent 1:1 limit 1000p
> >   Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> >  rate 0bit 0pps backlog 0b 0p requeues 0
> >                 ^^^^^^^^^^^^^
> > qdisc pfifo 20: parent 1:2 limit 1000p
> >   Sent 85357120 bytes 59298 pkt (dropped 0, overlimits 0 requeues 0)
> >  rate 0bit 0pps backlog 50470b 35p requeues 0
> >                 ^^^^^^^^^^^^^^^^^^
> > qdisc pfifo 30: parent 1:3 limit 1000p
> >   Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> >   rate 0bit 0pps backlog 0b 0p requeues 0
> >                  ^^^^^^^^^^^^^
> > 
> > > I have tried to configure PQ to have two queues per filter with no
> > success.
> > 
> > What do you mean?
> > 
> > > Is it even possible to have (what I'll call) hierarchical PQ? I have
> yet
> > to
> > > find it.
> > 
> > Something like this?
> > 
> > tc qdisc add dev eth1 handle 1: root prio
> > tc qdisc add dev eth1 parent 1:1 handle 10 prio
> > tc qdisc add dev eth1 parent 1:2 handle 20 prio
> > tc qdisc add dev eth1 parent 1:3 handle 30 prio
> > 
> > Regards
> > /Christian
> > [ http://benve.info ]




------------------------------

Message: 5
Date: Fri, 15 Jun 2007 17:13:48 +0800
From: "Salim S I" <salim.si@xxxxxxxxxxxxxxxx>
Subject: RE:  Re: PQ questions
To: "'Christian Benvenuti'" <christian.benvenuti@xxxxxxxxx>,
	<lartc@xxxxxxxxxxxxxxx>
Message-ID: <001901c7af2d$7c6e21d0$5964a8c0@SalimSi>
Content-Type: text/plain;	charset="us-ascii"

I tested on wireless link. It could give a maximum of 45Mbps. And I sent
30Mbps of both low prio and high prio traffic. Total of 60Mbps.
My test was done with UDP, using tcpdump. When I increased the bandwidth
to 40Mbps each, the high priority class got lesser bandwidth. (maybe the
effect of the known issue that large amount of low prio traffic can
starve high prio traffic)

> -----Original Message-----
> From: lartc-bounces@xxxxxxxxxxxxxxx
[mailto:lartc-bounces@xxxxxxxxxxxxxxx]
> On Behalf Of Christian Benvenuti
> Sent: Friday, June 15, 2007 4:16 PM
> To: lartc@xxxxxxxxxxxxxxx
> Subject:  Re: PQ questions
> 
> Hi,
>   a class is starved only if those with higher priority are
> always (of pretty often) backlogged and do not give the lower
> priority classes a chance to transmit.
> Therefore, if you transmit at a rate smaller than your CPU/s and
> NIC/s can handle you will not experience any starving.
> 
> For example, if you generate 50Mbit traffic on a 100Mbit NIC
> it is likely that you won't see any starving (unless your system is
> not able to handle 50Mbit traffic because of a complex TC or
> iptables configuration that consumes lot of CPU).
> 
> Regards
> /Christian
> [ http://benve.info ]
> 
> On Fri, 2007-06-15 at 15:46 +0800, Salim S I wrote:
> > Slightly offtopic... Has anyone really experienced starving of low
> > priority traffic with PRIO qdisc?
> > In my setup, I never achieved that, though I also wanted exactly
that
> > situation. I gave both the classes same amount of traffic at the
same
> > time. High prio got more bandwidth, but no starvation, even after I
sent
> > more traffic than the link capacity.
> >
> > > -----Original Message-----
> > > From: lartc-bounces@xxxxxxxxxxxxxxx
> > [mailto:lartc-bounces@xxxxxxxxxxxxxxx]
> > > On Behalf Of Christian Benvenuti
> > > Sent: Friday, June 15, 2007 3:32 PM
> > > To: lartc@xxxxxxxxxxxxxxx
> > > Subject:  Re: PQ questions
> > >
> > > Hi,
> > >
> > > > > Your config does not prevent an higher priority class from
> > starving
> > > > > a lower priority class.
> > > >
> > > > Exactly. That is requirement.
> > >
> > > OK
> > >
> > > > Those stats are nice to have, but the ones I must have are for
how
> > many
> > > > bytes/packets are enqueued at whatever time I check the queues.
> > >
> > > That information is there. Here is an example:
> > > (b=bytes p=packets)
> > >
> > > #tc -s -d qdisc list dev eth1
> > >
> > > qdisc prio 1:  root bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1
1
> > >   Sent 85357186 bytes 59299 pkt (dropped 0, overlimits 0 requeues
0)
> > >   rate 0bit 0pps backlog 0b 35p requeues 0
> > >                          +-> This field is not initialized for
this
> > >                              qdisc type
> > > qdisc pfifo 10:  parent 1:1 limit 1000p
> > >   Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> > >  rate 0bit 0pps backlog 0b 0p requeues 0
> > >                 ^^^^^^^^^^^^^
> > > qdisc pfifo 20: parent 1:2 limit 1000p
> > >   Sent 85357120 bytes 59298 pkt (dropped 0, overlimits 0 requeues
0)
> > >  rate 0bit 0pps backlog 50470b 35p requeues 0
> > >                 ^^^^^^^^^^^^^^^^^^
> > > qdisc pfifo 30: parent 1:3 limit 1000p
> > >   Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> > >   rate 0bit 0pps backlog 0b 0p requeues 0
> > >                  ^^^^^^^^^^^^^
> > >
> > > > I have tried to configure PQ to have two queues per filter with
no
> > > success.
> > >
> > > What do you mean?
> > >
> > > > Is it even possible to have (what I'll call) hierarchical PQ? I
have
> > yet
> > > to
> > > > find it.
> > >
> > > Something like this?
> > >
> > > tc qdisc add dev eth1 handle 1: root prio
> > > tc qdisc add dev eth1 parent 1:1 handle 10 prio
> > > tc qdisc add dev eth1 parent 1:2 handle 20 prio
> > > tc qdisc add dev eth1 parent 1:3 handle 30 prio
> > >
> > > Regards
> > > /Christian
> > > [ http://benve.info ]
> 
> 
> _______________________________________________
> LARTC mailing list
> LARTC@xxxxxxxxxxxxxxx
> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc




------------------------------

Message: 6
Date: Fri, 15 Jun 2007 17:36:20 +0800
From: "Salim S I" <salim.si@xxxxxxxxxxxxxxxx>
Subject: RE:  Re: multiple routing tables for internal router
	programs
To: "'Peter Rabbitson'" <rabbit@xxxxxxxxx>
Cc: lartc@xxxxxxxxxxxxxxx
Message-ID: <001a01c7af30$a4c23330$5964a8c0@SalimSi>
Content-Type: text/plain;	charset="us-ascii"



> -----Original Message-----
> From: lartc-bounces@xxxxxxxxxxxxxxx
[mailto:lartc-bounces@xxxxxxxxxxxxxxx]
> On Behalf Of Peter Rabbitson
> Sent: Friday, June 15, 2007 2:30 PM
> Cc: lartc@xxxxxxxxxxxxxxx
> Subject: Re:  Re: multiple routing tables for internal router
> programs
> Well then you are certainly ahead of the game. Still I would suggest
to
> avoid the complexity of bit mask marks - it is rather error prone and
is
> pretty hard to maintain, while the same result can usually be achieved
> by other means (like in my SNAT example). As far as your original
> problem goes - it seems like a mark is getting eaten away or is not
set
> somewhere in the first place. I have not had any problems like the
ones
> you describe.

Those different MARKs are used for policy-routing, load balancing,
firewall, traffic control, virtual server, user-group profiles etc. I
think eventually you may have to use it, warts and all, or find some
other way for integrating all those. :-) I will soon run out of bits, it
seems.

I've replaced that multipath rule for local packets with a single route,
and change it on failovers. No balancing for local traffic, but there
isn't much local traffic anyway.




------------------------------

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


End of LARTC Digest, Vol 28, Issue 23
*************************************


--------------------------------------------------------------------
mail2web LIVE ? Free email based on Microsoft® Exchange technology -
http://link.mail2web.com/LIVE


_______________________________________________
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