daemon: remove closed state management and simplify Close logic (#2859)

fix(dsr_proxy): remove closed state management and simplify Close logic
This commit is contained in:
eball 2026-04-13 13:59:40 +08:00 committed by GitHub
parent 689dc81900
commit 173213a7d9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 3 additions and 10 deletions

View file

@ -34,7 +34,6 @@ type DSRProxy struct {
responseConn *raw.Conn
backendConn *raw.Conn
closed bool
mu sync.Mutex
stopCh chan struct{}
@ -121,15 +120,12 @@ func (d *DSRProxy) Close() {
d.backendConn = nil
}
d.closed = true
}
func (d *DSRProxy) Stop() error {
d.mu.Lock()
defer d.mu.Unlock()
if !d.closed {
d.Close()
}
d.Close()
close(d.stopCh)
return nil
@ -467,9 +463,7 @@ func (d *DSRProxy) regonfigure() error {
return nil
}
if !d.closed {
d.Close()
}
d.Close()
klog.Info("reconfigure DSR proxy")
klog.Infof("VIP: %s on interface %s", d.vip.String(), d.vipInterface.Name)
@ -502,7 +496,6 @@ func (d *DSRProxy) regonfigure() error {
return err
}
d.closed = false
d.configChanged = false
return nil

View file

@ -263,7 +263,7 @@ func getPodNeighborInfo(podIp string) (mac, iface string, err error) {
}
for _, n := range neighs {
if n.IP.String() == podIp {
if n.IP.String() == podIp && n.State == netlink.NUD_REACHABLE {
mac = n.HardwareAddr.String()
if mac == "<nil>" {
mac = ""