mtcp-stack / mtcp

mTCP: A Highly Scalable User-level TCP Stack for Multicore Systems
Other
2k stars 436 forks source link

ccp as a thread within mtcp #224

Closed fcangialosi closed 5 years ago

fcangialosi commented 5 years ago

This PR builds on top of #209. Rather than communicating with CCP as a separate process (which requires building and starting a separate application at the correct time), we can now load the CCP dynamic library to spawn CCP as a thread inside mTCP. This makes it much easier for application users. This PR should probably be rebased and merged after #209 rather than instead of it.

To configure ccp, users can now add a "cc" option in their configuration file which includes both the algorithm name, and any applicable parameters in cli format. For example, to run BBR with an initial cwnd of 100:

cc = bbr --init_cwnd 100

To list the available parameters users can use the ccp utility (ccp run bbr -- --help) or specify cc = bbr --help in their configuration file and check via mtcp. Most algorithms do not need extra parameters, so this should be very easy in the average case.

All logging produced by ccp is written to ./cc.log.


Summary of changes: