Skip to content

Commit 5123c3a

Browse files
authored
Merge pull request kubernetes#89867 from gongguan/ipvs-check
remove duplicate ipvs check
2 parents 646ba8b + d6ea9d7 commit 5123c3a

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

cmd/kube-proxy/app/server_others.go

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ func newProxyServer(
159159
var proxier proxy.Provider
160160
var detectLocalMode proxyconfigapi.LocalMode
161161

162-
proxyMode := getProxyMode(string(config.Mode), kernelHandler, ipsetInterface, iptables.LinuxKernelCompatTester{})
162+
proxyMode := getProxyMode(string(config.Mode), canUseIPVS, iptables.LinuxKernelCompatTester{})
163163
detectLocalMode, err = getDetectLocalMode(config)
164164
if err != nil {
165165
return nil, fmt.Errorf("cannot determine detect-local-mode: %v", err)
@@ -554,28 +554,21 @@ func nodeIPTuple(bindAddress string) [2]net.IP {
554554
return nodes
555555
}
556556

557-
func getProxyMode(proxyMode string, khandle ipvs.KernelHandler, ipsetver ipvs.IPSetVersioner, kcompat iptables.KernelCompatTester) string {
557+
func getProxyMode(proxyMode string, canUseIPVS bool, kcompat iptables.KernelCompatTester) string {
558558
switch proxyMode {
559559
case proxyModeUserspace:
560560
return proxyModeUserspace
561561
case proxyModeIPTables:
562562
return tryIPTablesProxy(kcompat)
563563
case proxyModeIPVS:
564-
return tryIPVSProxy(khandle, ipsetver, kcompat)
564+
return tryIPVSProxy(canUseIPVS, kcompat)
565565
}
566566
klog.Warningf("Unknown proxy mode %q, assuming iptables proxy", proxyMode)
567567
return tryIPTablesProxy(kcompat)
568568
}
569569

570-
func tryIPVSProxy(khandle ipvs.KernelHandler, ipsetver ipvs.IPSetVersioner, kcompat iptables.KernelCompatTester) string {
571-
// guaranteed false on error, error only necessary for debugging
572-
// IPVS Proxier relies on ip_vs_* kernel modules and ipset
573-
useIPVSProxy, err := ipvs.CanUseIPVSProxier(khandle, ipsetver)
574-
if err != nil {
575-
// Try to fallback to iptables before falling back to userspace
576-
utilruntime.HandleError(fmt.Errorf("can't determine whether to use ipvs proxy, error: %v", err))
577-
}
578-
if useIPVSProxy {
570+
func tryIPVSProxy(canUseIPVS bool, kcompat iptables.KernelCompatTester) string {
571+
if canUseIPVS {
579572
return proxyModeIPVS
580573
}
581574

cmd/kube-proxy/app/server_others_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,8 @@ func Test_getProxyMode(t *testing.T) {
145145
modules: c.kmods,
146146
kernelVersion: c.kernelVersion,
147147
}
148-
r := getProxyMode(c.flag, khandler, ipsetver, kcompater)
148+
canUseIPVS, _ := ipvs.CanUseIPVSProxier(khandler, ipsetver)
149+
r := getProxyMode(c.flag, canUseIPVS, kcompater)
149150
if r != c.expected {
150151
t.Errorf("Case[%d] Expected %q, got %q", i, c.expected, r)
151152
}

0 commit comments

Comments
 (0)