← Back to team overview

opensand team mailing list archive

QoS in OpenSand

 

Hello everyone,

Can anyeone explain me the way QoS works in OpenSand, please?

We  have  5  classes  of  traffic: NM,EF,SIG,AF,BE and associated FIFO
queues  with  assigned  buffers.  In my understanding, if we have traffic
initially marked with DSCP values, when it passes through OpenSand the
latter  should  put  it into corresponding queue and process it according
with  corresponding priority. That means that if we don't mark traffic
-  it  should  eventually  end  up  in  BestEffort  (BE)  queue and be
influenced    only   by   the   buffer  size  of  corresponding  queue
which is set up in "dvb_rcs_tal" configuration menu.

Now    I    test    OpenSand    testbed    comprising   of   5   nodes
(WS-ST-SAT-GW-WS)   by   generating   TCP  traffic  in both directions
between two workstations.

So the questions are:

1) Why do I observe different TCP behavior in to different cases:
   -when  I  modify  only  "BE" buffer size and leave the rest buffers
   with default values
   -  and when I modify all buffers for all service classes by setting
   them up to the same value.
   Are  any  other  classes involved  while TCP flows pass
   through  OpenSand (for instance, permanent UDP signalling traffic between ST, SAT
   and GW is automatically marked and put into "SIG" queue?)?

2)  When  I send traffic in the direction from GW to ST and set up the
buffer   size   (size_max)  of  the  "BE"  queue  on  GW  to 0, how is
it possible that the traffic still able to pass through OpenSand with this zero buffer?

3)   How   the  number  of  PVC  channels  (in  the  same  dvb_rcs_tal
configuration  menu)  may  potentially  affect the behavior of passing
flows?

Best regards,
Andrei



Follow ups