mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 19:01:49 +00:00
Merge pull request #59243 from m1093782566/fix-cross
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Check ErrorNotFound for IPVS in netlink.go to fix windows cross build error **What this PR does / why we need it**: Check IPVS unbind address ErrorNotFound in `netlink.go` which is only compiled in Linux platform to fix windows cross build error. **Which issue(s) this PR fixes**: Fixes #59223 **Special notes for your reviewer**: **Release note**: ```release-note NONE ```
This commit is contained in:
commit
fc32709ee2
@ -93,7 +93,6 @@ go_library(
|
||||
"//pkg/util/sysctl:go_default_library",
|
||||
"//pkg/util/version:go_default_library",
|
||||
"//vendor/github.com/golang/glog:go_default_library",
|
||||
"//vendor/golang.org/x/sys/unix:go_default_library",
|
||||
"//vendor/k8s.io/api/core/v1:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||
@ -103,6 +102,7 @@ go_library(
|
||||
] + select({
|
||||
"@io_bazel_rules_go//go/platform:linux": [
|
||||
"//vendor/github.com/vishvananda/netlink:go_default_library",
|
||||
"//vendor/golang.org/x/sys/unix:go_default_library",
|
||||
],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
|
@ -57,7 +57,7 @@ func (h *netlinkHandle) EnsureAddressBind(address, devName string) (exist bool,
|
||||
return false, nil
|
||||
}
|
||||
|
||||
// UnbindAddress unbind address from the interface
|
||||
// UnbindAddress makes sure IP address is unbound from the network interface.
|
||||
func (h *netlinkHandle) UnbindAddress(address, devName string) error {
|
||||
dev, err := h.LinkByName(devName)
|
||||
if err != nil {
|
||||
@ -68,7 +68,9 @@ func (h *netlinkHandle) UnbindAddress(address, devName string) error {
|
||||
return fmt.Errorf("error parse ip address: %s", address)
|
||||
}
|
||||
if err := h.AddrDel(dev, &netlink.Addr{IPNet: netlink.NewIPNet(addr)}); err != nil {
|
||||
return fmt.Errorf("error unbind address: %s from interface: %s, err: %v", address, devName, err)
|
||||
if err != unix.ENXIO {
|
||||
return fmt.Errorf("error unbind address: %s from interface: %s, err: %v", address, devName, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -51,8 +51,6 @@ import (
|
||||
utilipvs "k8s.io/kubernetes/pkg/util/ipvs"
|
||||
utilsysctl "k8s.io/kubernetes/pkg/util/sysctl"
|
||||
utilexec "k8s.io/utils/exec"
|
||||
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -1705,7 +1703,7 @@ func (proxier *Proxier) cleanLegacyService(atciveServices map[string]bool, curre
|
||||
for _, addr := range unbindIPAddr.UnsortedList() {
|
||||
err := proxier.netlinkHandle.UnbindAddress(addr, DefaultDummyDevice)
|
||||
// Ignore no such address error when try to unbind address
|
||||
if err != nil && err != unix.ENXIO {
|
||||
if err != nil {
|
||||
glog.Errorf("Failed to unbind service addr %s from dummy interface %s: %v", addr, DefaultDummyDevice, err)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user