time_start=$(date +%s)
 
-optstring="S:R:d:e:l:r:h4cm:f:t"
+optstring="S:R:d:e:l:r:h4cm:f:tC"
 ret=0
 sin=""
 sout=""
 rcvbuf=0
 options_log=true
 do_tcp=0
+checksum=false
 filesize=0
 
 if [ $tc_loss -eq 100 ];then
        echo -e "\t-R: set rcvbuf value (default: use kernel default)"
        echo -e "\t-m: test mode (poll, sendfile; default: poll)"
        echo -e "\t-t: also run tests with TCP (use twice to non-fallback tcp)"
+       echo -e "\t-C: enable the MPTCP data checksum"
 }
 
 while getopts "$optstring" option;do
        "t")
                do_tcp=$((do_tcp+1))
                ;;
+       "C")
+               checksum=true
+               ;;
        "?")
                usage $0
                exit 1
 # use TCP syn cookies, even if no flooding was detected.
 ip netns exec "$ns2" sysctl -q net.ipv4.tcp_syncookies=2
 
+if $checksum; then
+       for i in "$ns1" "$ns2" "$ns3" "$ns4";do
+               ip netns exec $i sysctl -q net.mptcp.checksum_enabled=1
+       done
+fi
+
 set_ethtool_flags() {
        local ns="$1"
        local dev="$2"