mirror of https://github.com/k3s-io/k3s
flush iptable chains first and then remove them
while cleaning up ipvs mode. flushing iptable chains first and then remove the chains. this avoids trying to remove chains that are still referenced by rules in other chains. fixes #70615pull/564/head
parent
474e27f914
commit
90d2c5ca5a
|
@ -551,7 +551,7 @@ func cleanupIptablesLeftovers(ipt utiliptables.Interface) (encounteredError bool
|
|||
}
|
||||
}
|
||||
|
||||
// Flush and remove all of our chains.
|
||||
// Flush and remove all of our chains. Flushing all chains before removing them also removes all links between chains first.
|
||||
for _, ch := range iptablesChains {
|
||||
if err := ipt.FlushChain(ch.table, ch.chain); err != nil {
|
||||
if !utiliptables.IsNotFoundError(err) {
|
||||
|
@ -559,6 +559,10 @@ func cleanupIptablesLeftovers(ipt utiliptables.Interface) (encounteredError bool
|
|||
encounteredError = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Remove all of our chains.
|
||||
for _, ch := range iptablesChains {
|
||||
if err := ipt.DeleteChain(ch.table, ch.chain); err != nil {
|
||||
if !utiliptables.IsNotFoundError(err) {
|
||||
glog.Errorf("Error removing iptables rules in ipvs proxier: %v", err)
|
||||
|
|
Loading…
Reference in New Issue