All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabio Ludovici <fabio.ludovici@yahoo.it>
To: netdev@vger.kernel.org
Subject: [RESEND PATCH 0/3] netem/iproute2 solving correlated loss issue
Date: Tue, 29 Dec 2009 20:59:00 +0100	[thread overview]
Message-ID: <4B3A5F84.4050603@yahoo.it> (raw)

Dear all,

following the comments we have received from Stefan Hemmminger and David 
Miller we are resending the patch that enhances netem module and the 
iproute2 utilities as follows:

- add deterministic loss generation according to a pattern that can be 
specified in a file in the iproute2 command line
- new statistical models for generation of correlated loss (the existing 
model does not work), including loss models commonly used in literature 
(bernoulli, Gilbert, Gilbert Elliot) and the new GI (General and 
Intuitive model)
- enhanced logging functionality for loss events in dmesg

The patch should now be backward compatible, we have not changed the 
existing structure for iproute2 to kernel communication (tc_netem_qopt), 
but where needed we have added new structures (same approach used in the 
"reorder" patch at 
http://www.opensubscriber.com/message/netdev@oss.sgi.com/1362582.html)

Additional information on the motivations for this work and additional 
details can also be found at: 
http://netgroup.uniroma2.it/twiki/bin/view.cgi/Main/NetEm2

Examples of new iproute2 syntax is reported hereafter (full info in the 
man page).

1) generate loss according to a deterministic pattern:

tc qdisc add/change dev eth0 root netem loss_pattern filename

2) generate loss according to different loss models including the ones 
commonly used in the literature (bernoulli, gilbert, gilbert-elliot) and 
the new GI (General and Intuitive) model:

tc qdisc add/change dev eth0 root netem2 loss_GI ploss [burst_length 
[density [pisol [good_burst_length]]]]
tc qdisc add/change dev eth0 root netem2 loss_GI_tran p13 p31 [p32 p23 
[p14]]
tc qdisc add/change dev eth0 root netem2 loss_bern p
tc qdisc add/change dev eth0 root netem2 loss_gilb p r [1-h]
tc qdisc add/change dev eth0 root netem2 loss_gilbell p r [1-h [1-k]]

3) convert parameters between intuitive and Markov transition 
probabilities (query mode)

this applies to loss_GI and loss_GI_tran options. If the query label is 
specified before the model label the transition probabilities or the GI 
parameters that corresponds to the specified input parameters are 
calculated and printed to screen, but no operation is done on the qdisc. 
In this way the user can understands what he would obtain with certain 
input parameters without necessarily make changes to the network's 
behaviour.

4) enable enhanced logging in dmesg:

tc qdisc add/change dev eth0 root netem logging 1 loss_GI 5 10

for each loss event the kernel logs will include a line like "netem2 
loss event loss_GI 30 RFPLE 15" where RFPLE stands for "Received From 
Previous Loss Event" and it counts the number y of good packets received 
between two loss events while x is the number of all lost packets

Stefano Salsano and Fabio Ludovici

             reply	other threads:[~2009-12-29 19:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-29 19:59 Fabio Ludovici [this message]
2009-12-29 20:00 ` [RESEND PATCH 1/3] netem/iproute2 solving correlated loss issue Fabio Ludovici
2010-01-04  5:50   ` David Miller
2009-12-29 20:01 ` [RESEND PATCH 2/3] " Fabio Ludovici
2009-12-29 20:02 ` [RESEND PATCH 3/3] " Fabio Ludovici

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B3A5F84.4050603@yahoo.it \
    --to=fabio.ludovici@yahoo.it \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.