Question

I found an alternative opensource TCP implementation for Mac OS X [1] which use LEDBAT as congestion control, instead of NewReno.

  • Since I'm not so familiar with that OS, could you please suggest me how to build that source file and load it into the system?

(for instance I was wondering if there is a way to do so as in Linux, for which there are some implementation [2] that can be easily built, then plugged as a module into the kernel and loaded runtime:

make; make install
modprobe tcp_ledbat
sysctl -w net.ipv4.tcp_congestion_control=ledbat

)

[1] http://opensource.apple.com/source/xnu/xnu-1699.22.81/bsd/netinet/tcp_ledbat.c

[2] http://perso.telecom-paristech.fr/~valenti/pmwiki/pmwiki.php?n=Main.LEDBAT#howtokernel

Thank you

No correct solution

OTHER TIPS

The LEDBAT congestion control algorithm is built into OSX Lion (10.7.X) and does not need to be compiled separately. I don't think it would be possible to use LEDBAT in an earlier version of OSX without alot of work. LEDBAT provides for 'background' transfers and may be selected on a socket by setting the following socket option - setsocketopt(sock, SOL_SOCKET, SO_TRAFFIC_CLASS, SO_TC_BK, sizeof(int)). It also seems that the socket's traffic class may affected by the DSCP value in the IP header.

Additionally OSX has had the facility to load kernel modules for other network protocols for some time using their Network Kernel Extensions (NKE) - for example there is an NKE module that has been developed for the SCTP protocol.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top