diff options
| -rw-r--r-- | net/netfilter/ipvs/Kconfig | 3 | ||||
| -rw-r--r-- | net/netfilter/ipvs/ip_vs_wrr.c | 15 |
2 files changed, 3 insertions, 15 deletions
diff --git a/net/netfilter/ipvs/Kconfig b/net/netfilter/ipvs/Kconfig index 79a698052218..f2d76238b9b5 100644 --- a/net/netfilter/ipvs/Kconfig +++ b/net/netfilter/ipvs/Kconfig | |||
| @@ -112,7 +112,8 @@ config IP_VS_RR | |||
| 112 | module, choose M here. If unsure, say N. | 112 | module, choose M here. If unsure, say N. |
| 113 | 113 | ||
| 114 | config IP_VS_WRR | 114 | config IP_VS_WRR |
| 115 | tristate "weighted round-robin scheduling" | 115 | tristate "weighted round-robin scheduling" |
| 116 | select GCD | ||
| 116 | ---help--- | 117 | ---help--- |
| 117 | The weighted robin-robin scheduling algorithm directs network | 118 | The weighted robin-robin scheduling algorithm directs network |
| 118 | connections to different real servers based on server weights | 119 | connections to different real servers based on server weights |
diff --git a/net/netfilter/ipvs/ip_vs_wrr.c b/net/netfilter/ipvs/ip_vs_wrr.c index 6182e8ea0be7..3c115fc19784 100644 --- a/net/netfilter/ipvs/ip_vs_wrr.c +++ b/net/netfilter/ipvs/ip_vs_wrr.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/module.h> | 24 | #include <linux/module.h> |
| 25 | #include <linux/kernel.h> | 25 | #include <linux/kernel.h> |
| 26 | #include <linux/net.h> | 26 | #include <linux/net.h> |
| 27 | #include <linux/gcd.h> | ||
| 27 | 28 | ||
| 28 | #include <net/ip_vs.h> | 29 | #include <net/ip_vs.h> |
| 29 | 30 | ||
| @@ -38,20 +39,6 @@ struct ip_vs_wrr_mark { | |||
| 38 | }; | 39 | }; |
| 39 | 40 | ||
| 40 | 41 | ||
| 41 | /* | ||
| 42 | * Get the gcd of server weights | ||
| 43 | */ | ||
| 44 | static int gcd(int a, int b) | ||
| 45 | { | ||
| 46 | int c; | ||
| 47 | |||
| 48 | while ((c = a % b)) { | ||
| 49 | a = b; | ||
| 50 | b = c; | ||
| 51 | } | ||
| 52 | return b; | ||
| 53 | } | ||
| 54 | |||
| 55 | static int ip_vs_wrr_gcd_weight(struct ip_vs_service *svc) | 42 | static int ip_vs_wrr_gcd_weight(struct ip_vs_service *svc) |
| 56 | { | 43 | { |
| 57 | struct ip_vs_dest *dest; | 44 | struct ip_vs_dest *dest; |
