altq on vlan

Max Laier max at love2party.net
Sun Jun 29 15:45:15 UTC 2008


On Saturday 28 June 2008 13:14:27 . at babolo.ru wrote:
> [ Charset ISO-8859-1 unsupported, converting... ]
>
> > On Friday 27 June 2008 18:57:59 Alexandre Biancalana wrote:
> > > On 6/27/08, Max Laier <max at love2party.net> wrote:
> > > > You don't need a patch at all.  What you do is:  Queue on the
> > > > physical interface, classify on the vlan interface.  It is broken
> > > > to allow ALTQ on a virtual interface if you can do it otherwise.
> > > >
> > > >  in pf.conf speak:
> > > >
> > > >  If you have "ifconfig vlanX vlandev bge0 ..."
> > > >
> > > >  altq on bge0 .... queue { vlan0, vlan1, ... }
> > > >  queue vlan0 ... { vlan0_foo, vlan0_bar, ... }
> > > >  queue  vlan0_foo
> > > >  queue  vlan0_bar
> > > >  ...
> > > >
> > > >  pass on vlanX  ... queue vlanX_foobar
> > > >
> > > >  And there you go.  No patch - whatsoever - required here.
> > >
> > > But the patch simplify the cases where you need one queue per vlan.
> >
> > NO!  It is just wrong!  There is no relation between vlan queues on
> > the same physical interface and thus you can't guarantee anything! 
> > Can we please stop with this nonsense and not bring up the patch
> > every other month.
>
> Remember vlan anoter end.
>
> Vlan queues on the same physical interface has sense.
>
> Let see typical vlan use:
>                                +--------+ 100M untagged vlan1
>                                |        |--------------..
>         +---------+            |        | 100M untagged vlan2
>   1G    |         | 1G tagged  |        |----------------
> --------+ FreeBSD +------------+ switch | 100M untagged vlan3
>         |         |            |        |--------------..
>         +---------+            |        | 100M untagged vlanN
>                                |        |---------------
>                                +--------+
>
> There is noting interesting in common queue on 1G physical interface,
> the only right queues are that on vlans when number of
> vlans < 10.
>
> More of that, sum traffic on 1G tagged intervace is limited
> by incoming traffic from 1G external interface and
> so common queue on 1G tagged interface is not
> interesting even when number of vlans > 10.

Sorry, but you are completely off track here.  If you use one queue per 
vlan one vlan can easily DoS the rest, because once a packet has passed 
the queue in the vlan it falls into a common queue with all the others 
and - as you correctly point out - there is no guarantee that a 1G 
interface can really sent at 1G all the time.  The vlan queues, however, 
will not get any feedback from the parent about it's real send speed.

E.g. a vlan sending *a lot* of tiny packets will dominate the 1G link and 
thus DoS any other vlan that sends big packets.  This you can prevent 
with a common queue.

Now please ... let this die, it's stupid!

-- 
/"\  Best regards,                      | mlaier at freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier at EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News


More information about the freebsd-net mailing list