Sébastien CRAMATTE wrote:> Hello,
> 
> I’ve read this Article avout VOIP and HFSC
> http://automatthias.wordpress.com/2006/06/30/hfsc-and-voip/
> 
> I’ve got few questions ?
> 
> Considering this
> 
> tc class add dev $DEV parent 1:1 classid 1:2 hfsc \
> rt m1 ${UPLINK}kbit d 50ms m2 $[1*$UPLINK/10]kbit \
> ls m1 ${UPLINK}kbit d 50ms m2 $[3*$UPLINK/10]kbit \
> ul rate ${UPLINK}kbit
That command and the script look a bit iffy to me - but then I could be 
wrong and often am :-)
> 
> rt = realtime curve
> ls = linksharing curve
> 
> but
> m1 = ?
m1 = slope/rate of the first part of the curve.
> m2 = ?
m2 = slope/rate of the second part.
> d = dmax ?
I think they will be equal if m1>m2, but not if m1<m2. dmax is a time 
when used with umax bytes hfsc will calculate the m1 bitrate needed to 
send a packet umax bytes long with a delay of dmax. d is the point on 
the x axis where m1 ends and m2 starts. If m1<m2 then d is still d but 
not the same as dmax.
Look at the curves on p10 of the sigcom pdf - I think xi = d
http://trash.net/~kaber/hfsc/SIGCOM97.pdf
You can use either format with linux, when you do tc -s -d class ls ... 
the output will be in m1 d m2 format.
Andy.