Re: About pluggable congestion control infrastructure in DCCP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Mon, Aug 20, 2007 at 10:22:40AM +1200, Ian McDonald escreveu:
> On 8/20/07, Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxxxx> wrote:
> > Em Mon, Aug 20, 2007 at 08:53:15AM +1200, Ian McDonald escreveu:
> > > On 8/20/07, Shahiduzzaman <shahid21st@xxxxxxxxx> 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


[Index of Archives]     [Linux Kernel Development]     [Linux DCCP]     [IETF Annouce]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [DDR & Rambus]

  Powered by Linux