Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Jun 2002 12:09:57 -0700 (PDT)
From:      Richard Hodges <rh@matriplex.com>
To:        Vincent Jardin <vjardin@wanadoo.fr>
Cc:        freebsd-atm@FreeBSD.ORG
Subject:   Re: VBR support
Message-ID:  <Pine.BSF.4.10.10206291142270.47871-100000@mail.matriplex.com>
In-Reply-To: <20020629085300.83F2315039F@venus.vincentjardin.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 29 Jun 2002, Vincent Jardin wrote:

> What are the limits of the VBR support of these LE and IDT boards ?

The IDT 77211 chip is the heart of all the Fore LE155 and LE25 boards,
most of the IDT boards, and some other ATM cards (like "Lightning").

This 77211 chip works with a set of cell time-slots.  Each time slot is
one cell.  A time slot can be a CBR cell, a VBR cell, or unused.  In my
driver, an OC3 interface has exactly 2075 slots, and each slot is 64000
bits per second (actually it is 64003), so it is convenient to set up a
CBR circuit in multiples of 64000b/s.  (Think voice circuits :-)

For VBR, there is not as much flexibility.  The chip has 3 VBR channels.
The driver uses one of these VBR channels for VBR traffic.  One is unused,
and the last is used for high-priority UBR traffic.  For instance, 0/5 and
0/16 are given higher priority than ordinary UBR.  It is easy to add
others if you want (for instance, 0/18 for PNNI).

The hardware uses a divisor m/n to send VBR PDUs out the interface.  All
VBR connections use the same queue, so m/n is the sum of all the VBR
connections.  And all VBR traffic is first-in, first-out.  So your VBR
sockets need to behave properly.  Also, your m/n divisor must be in the
range [1-7] / [1-127] so some VBR rates are only aproximate.

If you can afford to waste cell slots, you might think about setting up
your VBR circuits as CBR.  The hardware and device driver will enforce the
maximum cell rate and cell spacing.  And your application should then do
some kind of crude flow control so that the VBR average stays right.

I added the sysctl "hw.idt.vbr_is_cbr" just for this purpose :-)

You might find the other sysctl variables helpful.
 
> Thanks for the driver, it is very well written.
>   Vincent

I hope you find it useful.  Best of luck!

-Richard


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-atm" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.10206291142270.47871-100000>