Implements the Google's Maglev hashing algorithm as a IPVS scheduler. Basically it provides consistent hashing but offers some special features about disruption and load balancing. 1) minimal disruption: when the set of destinations changes, a connection will likely be sent to the same destination as it was before. 2) load balancing: each destination will receive an almost equal number of connections. Seel also: [3.4 Consistent Hasing] in https://www.usenix.org/system/files/conference/nsdi16/nsdi16-paper-eisenbud.pdf v1: Add maglev consistent hasing v2: Add and refactor some features about MH and attach distribution test results based on the MH's realtive weights. v3: Optimize some features, clean up strcutures of MH, rearrange patchset order with new patches and so on. Inju Song (3): netfilter: ipvs: Keep latest weight of destination netfilter: ipvs: Add Maglev consistent hashing scheduler netfilter: ipvs: Add some configuration of Maglev hashing include/net/ip_vs.h | 1 + net/netfilter/ipvs/Kconfig | 37 +++ net/netfilter/ipvs/Makefile | 1 + net/netfilter/ipvs/ip_vs_ctl.c | 4 + net/netfilter/ipvs/ip_vs_mh.c | 532 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 575 insertions(+) create mode 100644 net/netfilter/ipvs/ip_vs_mh.c -- 1.8.3.1 -- Inju Song NAVER Corporation -- To unsubscribe from this list: send the line "unsubscribe lvs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html