Skip to content

Commit d6ea9d7

Browse files
committed
remove duplicate ipvs check
1 parent 4d0e86f commit d6ea9d7

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)
@@ -553,28 +553,21 @@ func nodeIPTuple(bindAddress string) [2]net.IP {
553553
return nodes
554554
}
555555

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

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

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)