← Back to team overview

opensand team mailing list archive

Re: Queueing in OpenSand

 

Hi Andrei POPOV,

I answer on the OpenSAND mailing list as it can be useful for other users, if you need more details, please continue writing on it. If you are not registered, you can join us following this link : https://launchpad.net/~opensand/+join

The OpenSAND bottleneck and queuing are not handled in the input virtual interface but in the OpenSAND software. In the OpenSAND terminals, we implement MAC queues that receive all the incoming traffic but they only output the authorized amount of traffic, which creates the bottleneck. The queue size can be modified in the advanced configuration. In the configuration tab on manager, click advanced, then under stX you can access the queue in the dvb_rcs_tal tab and modify size_max parameters. While running OpenSAND, you can also display the queue sizes under the probes' tab; select program stX and the queue you want to display (BE if IP packets are not tagged) under Terminal_queue_size. Be sure you are running opensand-collector on the platform to receive the statistics.

In the OpenSAND source code, you can look for macSchedule functions in OpenSAND DAMA agent.

If required, you can also perform layer 3 bandwidth limitation outside OpenSAND with traffic shaping software as tc (Traffic Control).

best regards,

--
Julien BERNARD
Viveris Technologies
05 61 00 31 84



Dear Julien BERNARD,

I  have  a  question  related  to  bottleneck  in OpenSand. As we now,
emulated  satellite  network  creates  a  bottleneck of RTT=600 ms and
Throughput=  1  Mbps.   It  means  that  when  the traffic coming from
workstation  connected to ST with the speed rate of 1 Gbps or 100 Mbps
it  faces  the  bottleneck  of  1  Mbps on outgoing "opensand" virtual
interface. So besides that the emulated network is limited to 1 Mbps, the incoming
traffic  has  to  be  somehow  queued  in  the  buffer of this virtual
opensand interface.

My  first  question is I don't really understand how the bottleneck of
1 Mbps is created.  When  I  display, for example, the link speed of the virtual
opensand  interface  using  ethtool  -  I  see the speed link equal to
10Mbps.

And   the  second  question  is about queuing. Is there a queue on the
outgoing   opensand   virtual   interface?   What  is its maximum size
before the packets get dropped and whether  it's  possible somehow to display the current queue size when
traffic passes through the interface?
Which  source  files of the OpenSand components would you recommend me
to look at in order to understand these mechanisms?

Best regards,
Andrei POPOV