TCP Extensions for Multipath Operation with Multiple Addresses (MPTCP) allows a mutli-homed host to utilize multiple network interfaces or paths on a single TCP session. The protocol is currently being standardized by the IETF in RFC 6824.

The Foundation is sponsoring a Master’s research scholarship focused on Multipath TCP for FreeBSD. tarting from the existing implementation, the design of the stack is to be refined and additional features added with a goal of releasing a functional implementation by Mid 2015. Several incremental releases are also scheduled for 2014 and early 2015.

The aim of this project is to design and implement a FreeBSD MPTCP stack that enables further MPTCP research activities. Key to this is implementing an extensible design that helps simplify experimentation with congestion control, scheduling and path management schemes.

An experimental kernel patch has previously been released. Ongoing work is being developed against the HEAD branch.

Currently features being worked on include extending single-path modular CC code to operate with MPTCP connections, and the addition of a modular packet scheduling framework. Part of this process involves refactoring much of the existing MPTCP session management code and the creation of new multipath-specific protocol hooks, steps that decrease the coupling between the MPTCP code and the existing TCP code.

The Foundation is pleased to be able support university research using FreeBSD and to contribute to the enhancement of the Project through sponsorships like this one.