From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
To: dccp@vger.kernel.org
Subject: Re: About pluggable congestion control infrastructure in DCCP
Date: Sun, 19 Aug 2007 22:39:24 +0000 [thread overview]
Message-ID: <20070819223924.GC24792@ghostprotocols.net> (raw)
In-Reply-To: <e3c7f9e80708190627y3e883241gb1def650e37965c0@mail.gmail.com>
Em Mon, Aug 20, 2007 at 10:22:40AM +1200, Ian McDonald escreveu:
> On 8/20/07, Arnaldo Carvalho de Melo <acme@ghostprotocols.net> wrote:
> > Em Mon, Aug 20, 2007 at 08:53:15AM +1200, Ian McDonald escreveu:
> > > On 8/20/07, Shahiduzzaman <shahid21st@gmail.com> wrote:
> > > > Hi all,
> > > >
> > > > This may be a redundant or very naive question - sorry in advance for
> > > > that. Can anybody tell me, whether the current Linux kernel DCCP
> > > > implementation is done in a fashion like TCP pluggable congestion
> > > > avoidance modules infrastructure (http://lwn.net/Articles/128681/) ?
> > >
> > > The short answer is yes and no!
> >
> > I think the answer is just "yes"
> >
> > The CCID infrastructure in the Linux kernel is done in a fashion like
> > the TCP pluggable congestion avoidances modules infrastructure. One can
> > write a new CCID and load, making it available for userspace programs to
> > use without changing a line of code in what is already in the kernel.
> >
> > > No that the in-tree version does not support it.
> >
> > The question was if it was done "in a fashion like", not "exactly as". I
> > may be confused with your answer as english is not my first language tho
> > :-)
> >
>
> I think my answer may have been confusing then...
>
> To clarify the CCID code is modular in that you don't need to write
> the code from the ground up for a new CCID. It has callback functions
> for implementing various protocol requirements.
>
> The part where it is not modular (in the tree anywhere) is if you want
> to change just the very small part of how the congestion control is
> done for any particular CCID.
That needs improvements, yes, but even in this area we have separated a
good number of routines in the tfrc library:
[acme@mica net-2.6.24]$ l net/dccp/ccids/lib/
total 64
drwxr-xr-x 2 acme acme 4096 Aug 19 19:25 ./
drwxr-xr-x 3 acme acme 4096 Aug 19 19:26 ../
-rw-r--r-- 1 acme acme 7391 Aug 19 19:25 loss_interval.c
-rw-r--r-- 1 acme acme 1019 Aug 19 19:25 loss_interval.h
-rw-r--r-- 1 acme acme 119 Aug 19 19:25 Makefile
-rw-r--r-- 1 acme acme 7806 Aug 19 19:25 packet_history.c
-rw-r--r-- 1 acme acme 5853 Aug 19 19:25 packet_history.h
-rw-r--r-- 1 acme acme 18708 Aug 19 19:25 tfrc_equation.c
-rw-r--r-- 1 acme acme 1171 Aug 19 19:25 tfrc.h
[acme@mica net-2.6.24]$
> I hope this clarifies a little. I get confused even though English is
> my first language!
Yes, it clarifies, and the discussion should provide the information
that Shahiduzzaman is looking for.
Ok, back to preparing a batch of patches for upstream submission, in my
glacial pace, but hey, global warming will eventually reach my feets!
:-)
- Arnaldo
prev parent reply other threads:[~2007-08-19 22:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-19 13:27 About pluggable congestion control infrastructure in DCCP Shahiduzzaman
2007-08-19 20:53 ` Ian McDonald
2007-08-19 22:16 ` Arnaldo Carvalho de Melo
2007-08-19 22:22 ` Ian McDonald
2007-08-19 22:39 ` Arnaldo Carvalho de Melo [this message]
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=20070819223924.GC24792@ghostprotocols.net \
--to=acme@ghostprotocols.net \
--cc=dccp@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox