This is the code base for Chang Xiangzhong@UiO master thesis. The task is to implement the Concurrent Multipath Transfer(CMT) feature of SCTP. The expected algorithms include (but not limited to) 1) Split Fast Retransmit (SFR) 2) Cwnd Update for CMT (CWC) 3) Delayed Ack for CMT (DAC) For more informations please consult Computer Networks(5e) by Tanenbaum & Wetherall TCP/IP Illustrated Volume 1 by Stevens Computer Networks A Top-Down Approach by Forouzan & Mosharraf Operating System (3e) by Tanenbaum RFC2960 RFC4960 RFC2581 Linux Kernel@ 3.11.1 Author: Chang Xiangzhong Email: changxiangzhong@gmail.com Supervised By: Thomas Dreibholz@Simula Ernst Gunnar@Simula ================================================================ Tools for tuning and testing ================================================================ 1. gnuplot - to draw graphs of cwnd's increment/decrement and ssthresh's. a) File ${KERN_DIR}/sctp_tools/all.sh is the bash script to draw the cwnd and ssthresh informations from the kernel log. b) Gnuplot script ${KERN_DIR}/sctp_tools/draw.pl is used to draw graphs. 2. tc - traffic control filter of Linux, which is used to shape the traffic and emulate different test cases. a) File ${KERN_DIR}/sctp_tools/set_nic.sh is a wrapper of tc 3. libsctp1 - a library to access SCTP system calls. The following files implments a very basic server/client model to examine CMT functionality. a) File ${KERN_DIR}/sctp_tools/sender.c b) File ${KERN_DIR}/sctp_tools/receiver.c