Congestion Control Modification

Tom Jones jones at sdf.org
Sat Apr 18 08:23:39 UTC 2015


On Sat, Apr 18, 2015 at 09:59:01AM +0300, Karlis Laivins wrote:
> Hello,
> 
> I have read an interesting publication about a proposed modification of TCP
> Congestion Control algorithm that would allow to improve it (the CC) by
> dynamic bandwidth estimation. The idea seems so interesting that I would
> like to try to implement it by modifying the NewReno code.

What are you trying to implement? There might already be an out of tree
implementation.

> Do I understand correctly that to do the above stated, I would create a
> copy of source file (in my case - cc_newreno.c) located in /usr/src/sys/
> and rename it to, for example, cc_newreno_test.c and make changes to it?
> How would I then compile it, and how would I create a newreno_test.ko file
> that can be loaded into Kernel and tested?

There is quite a bit of documentation for the modular congestion control
framework[0][1] in the man pages. I think you can actually build the cc as a
kernel module and use kldload, this is how we did our initial implementation of
NewCWV on Linux at $work.

You can build and work on kernel modules out of tree, this tutorial[2] is a
reasonable introduction.

[0]: https://www.freebsd.org/cgi/man.cgi?query=mod_cc
[1]: https://www.freebsd.org/cgi/man.cgi?query=mod_cc&sektion=9&apropos=0&manpath=FreeBSD+10.1-RELEASE
[2]: http://www.freesoftwaremagazine.com/articles/writing_a_kernel_module_for_freebsd

-- 
Tom
@adventureloop
adventurist.me

'You realize night time makes up half of all time?'
:wq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 860 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20150418/6f5da283/attachment.sig>


More information about the freebsd-net mailing list