Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30edf801 authored by Inju Song's avatar Inju Song Committed by Simon Horman
Browse files

netfilter: ipvs: Add configurations of Maglev hashing



To build the maglev hashing scheduler, add some configuration
to Kconfig and Makefile.

 - The compile configurations of MH are added to the Kconfig.

 - The MH build rule is added to the Makefile.

Signed-off-by: default avatarInju Song <inju.song@navercorp.com>
Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
parent 039f32e8
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -225,6 +225,25 @@ config IP_VS_SH
	  If you want to compile it in kernel, say Y. To compile it as a
	  module, choose M here. If unsure, say N.

config	IP_VS_MH
	tristate "maglev hashing scheduling"
	---help---
	  The maglev consistent hashing scheduling algorithm provides the
	  Google's Maglev hashing algorithm as a IPVS scheduler. It assigns
	  network connections to the servers through looking up a statically
	  assigned special hash table called the lookup table. Maglev hashing
	  is to assign a preference list of all the lookup table positions
	  to each destination.

	  Through this operation, The maglev hashing gives an almost equal
	  share of the lookup table to each of the destinations and provides
	  minimal disruption by using the lookup table. When the set of
	  destinations changes, a connection will likely be sent to the same
	  destination as it was before.

	  If you want to compile it in kernel, say Y. To compile it as a
	  module, choose M here. If unsure, say N.

config	IP_VS_SED
	tristate "shortest expected delay scheduling"
	---help---
@@ -266,6 +285,24 @@ config IP_VS_SH_TAB_BITS
	  needs to be large enough to effectively fit all the destinations
	  multiplied by their respective weights.

comment 'IPVS MH scheduler'

config IP_VS_MH_TAB_INDEX
	int "IPVS maglev hashing table index of size (the prime numbers)"
	range 8 17
	default 12
	---help---
	  The maglev hashing scheduler maps source IPs to destinations
	  stored in a hash table. This table is assigned by a preference
	  list of the positions to each destination until all slots in
	  the table are filled. The index determines the prime for size of
	  the table as 251, 509, 1021, 2039, 4093, 8191, 16381, 32749,
	  65521 or 131071. When using weights to allow destinations to
	  receive more connections, the table is assigned an amount
	  proportional to the weights specified. The table needs to be large
	  enough to effectively fit all the destinations multiplied by their
	  respective weights.

comment 'IPVS application helper'

config	IP_VS_FTP
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ obj-$(CONFIG_IP_VS_LBLC) += ip_vs_lblc.o
obj-$(CONFIG_IP_VS_LBLCR) += ip_vs_lblcr.o
obj-$(CONFIG_IP_VS_DH) += ip_vs_dh.o
obj-$(CONFIG_IP_VS_SH) += ip_vs_sh.o
obj-$(CONFIG_IP_VS_MH) += ip_vs_mh.o
obj-$(CONFIG_IP_VS_SED) += ip_vs_sed.o
obj-$(CONFIG_IP_VS_NQ) += ip_vs_nq.o