Skip to content
This repository has been archived by the owner on Nov 10, 2021. It is now read-only.
Matthieu Coudron edited this page May 18, 2021 · 2 revisions

Welcome to the mptcp-pm wiki!

random notes / dump

Testsuite

$ ss -t -4 -i ss -o state established '( dport = :ssh or sport = :ssh )' https://unix.stackexchange.com/questions/499190/where-is-the-official-documentation-debian-package-iproute-doc

sudo insmod ~/mptcp/build/net/ipv4/tcp_cubic.ko

BUGS

  • conversion of SockDiagExtensionId is bad everywhere ? req.r.idiag_ext |= (1<<(INET_DIAG_INFO-1));

or $ buildNRun To print a stacktrace cabal run daemon toto -- +RTS -xc

In a shell: $ nix run nixpkgs.iperf -c iperf -s

In another: $ nix run nixpkgs.iperf -c iperf -c localhost -b 1KiB -t 4 --cport 5500 -4 -C cubic

Script to reload module

reload_mod() {
    newMod="$1"

	if [ -z "${newMod}" ]; then
		echo "Use: <path to new module>"
		echo "possibly /home/teto/mptcp2/build/net/mptcp/mptcp_netlink.ko"
	fi
# 1. change to another scheduler
    mppm "fullmesh"
	sleep 1
# 2. rmmod the current one
    sudo rmmod "mptcp_netlink"

# 3. Insert our new module
	sleep 1
    sudo insmod "$1"

# 4. restore path manager
	mppm "netlink"

}

Note: ss package sends by default -- #define SS_ALL ((1 << SS_MAX) - 1) -- #define SS_CONN (SS_ALL & ~((1<<SS_LISTEN)|(1<<SS_CLOSE)|(1<<SS_TIME_WAIT)|(1<<SS_SYN_RECV))) -- #define TIPC_SS_CONN ((1<<SS_ESTABLISHED)|(1<<SS_LISTEN)|(1<<SS_CLOSE))

Netlink explanation

To fetch TCP diagnostics: Creates a socket with family eNETLINK_INET_DIAG (really NETLINK_SOCK_DIAG) with value 4 AF_INET => netlink family 2

Clone this wiki locally