(OK) MPTCP-0.92 setup - kernel/net/mptcp/Kconfig - Android-x86 7.1.1 - kernel 4.4.62

#
# MPTCP configuration
#
config MPTCP
	bool "MPTCP protocol"
	depends on (IPV6=y || IPV6=n)
	default y
	---help---
	  This replaces the normal TCP stack with a Multipath TCP stack,
	  able to use several paths at once.

menuconfig MPTCP_PM_ADVANCED
	bool "MPTCP: advanced path-manager control"
	depends on MPTCP=y
	default y
	---help---
	  Support for selection of different path-managers. You should choose 'Y' here,
	  because otherwise you will not actively create new MPTCP-subflows.

if MPTCP_PM_ADVANCED

config MPTCP_FULLMESH
	tristate "MPTCP Full-Mesh Path-Manager"
	depends on MPTCP=y
	default y
	---help---
	  This path-management module will create a full-mesh among all IP-addresses.

config MPTCP_NDIFFPORTS
	tristate "MPTCP ndiff-ports"
	depends on MPTCP=y
	default n
	---help---
	  This path-management module will create multiple subflows between the same
	  pair of IP-addresses, modifying the source-port. You can set the number
	  of subflows via the mptcp_ndiffports-sysctl.

config MPTCP_BINDER
	tristate "MPTCP Binder"
	depends on (MPTCP=y)
	default n
	---help---
	  This path-management module works like ndiffports, and adds the sysctl
	  option to set the gateway (and/or path to) per each additional subflow
	  via Loose Source Routing (IPv4 only).

choice
	prompt "Default MPTCP Path-Manager"
	default DEFAULT
	help
	  Select the Path-Manager of your choice

	config DEFAULT_FULLMESH
		bool "Full mesh" if MPTCP_FULLMESH=y

	config DEFAULT_NDIFFPORTS
		bool "ndiff-ports" if MPTCP_NDIFFPORTS=y

	config DEFAULT_BINDER
		bool "binder" if MPTCP_BINDER=y

	config DEFAULT_DUMMY
		bool "Default"

endchoice

endif

config DEFAULT_MPTCP_PM
	string
	default "default" if DEFAULT_DUMMY
	default "fullmesh" if DEFAULT_FULLMESH 
	default "ndiffports" if DEFAULT_NDIFFPORTS
	default "binder" if DEFAULT_BINDER
	default "default"
	default y

menuconfig MPTCP_SCHED_ADVANCED
	bool "MPTCP: advanced scheduler control"
	depends on MPTCP=y
	default y
	---help---
	  Support for selection of different schedulers. You should choose 'Y' here,
	  if you want to choose a different scheduler than the default one.

if MPTCP_SCHED_ADVANCED

config MPTCP_ROUNDROBIN
	tristate "MPTCP Round-Robin"
	depends on (MPTCP=y)
	default y
	---help---
	  This is a very simple round-robin scheduler. Probably has bad performance
	  but might be interesting for researchers.

config MPTCP_REDUNDANT
	tristate "MPTCP Redundant"
	depends on (MPTCP=y)
	default y
	---help---
	  This scheduler sends all packets redundantly over all subflows to decreases
	  latency and jitter on the cost of lower throughput.

choice
	prompt "Default MPTCP Scheduler"
	default DEFAULT
	help
	  Select the Scheduler of your choice

	config DEFAULT_ROUNDROBIN
		bool "Round-Robin" if MPTCP_ROUNDROBIN=y
		---help---
		  This is the round-rob scheduler, sending in a round-robin
		  fashion..

	config DEFAULT_REDUNDANT
		bool "Redundant" if MPTCP_REDUNDANT=y
		---help---
		  This is the redundant scheduler, sending packets redundantly over
		  all the subflows.

	config DEFAULT_SCHEDULER
		bool "Default"
		---help---
		  This is the default scheduler, sending first on the subflow
		  with the lowest RTT.

endchoice
endif

config DEFAULT_MPTCP_SCHED
	string
	depends on (MPTCP=y)
	default "default" if DEFAULT_SCHEDULER
	default "roundrobin" if DEFAULT_ROUNDROBIN
	default "redundant" if DEFAULT_REDUNDANT
	default "default"

posted @ 2017-06-25 16:55  张同光  阅读(101)  评论(0编辑  收藏  举报