blob: a439fd0a6ec58c7174a58dd77589cfe9bf7db381 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
buildLinux (rec {
mptcpVersion = "0.94";
modDirVersion = "4.14.24";
version = "${modDirVersion}-mptcp_v${mptcpVersion}";
# autoModules= true;
extraMeta = {
branch = "4.4";
maintainers = with stdenv.lib.maintainers; [ teto layus ];
};
src = fetchFromGitHub {
owner = "multipath-tcp";
repo = "mptcp";
rev = "v${mptcpVersion}";
sha256 = "01y3jf5awdxcv6vfpr30n0vaa8w1wgip0whiv88d610550299hkv";
};
extraConfig = ''
IPV6 y
MPTCP y
IP_MULTIPLE_TABLES y
# Enable advanced path-managers...
MPTCP_PM_ADVANCED y
MPTCP_FULLMESH y
MPTCP_NDIFFPORTS y
# ... but use none by default.
# The default is safer if source policy routing is not setup.
DEFAULT_DUMMY y
DEFAULT_MPTCP_PM default
# MPTCP scheduler selection.
MPTCP_SCHED_ADVANCED y
DEFAULT_MPTCP_SCHED default
# Smarter TCP congestion controllers
TCP_CONG_LIA m
TCP_CONG_OLIA m
TCP_CONG_WVEGAS m
TCP_CONG_BALIA m
'' + (args.extraConfig or "");
} // args)
|