perform clean-up of external ip from custom route table for external ip only if the table is not empty (#437)

This commit is contained in:
Murali Reddy 2018-05-13 12:38:25 +05:30 committed by GitHub
parent 6d86656f5e
commit 0538a2a93e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1686,11 +1686,12 @@ func (ln *linuxNetworking) setupRoutesForExternalIPForDSR(serviceInfoMap service
} }
} }
// check if there are any pbr in externalIPRouteTableId for external IP's
if len(outStr) > 0 {
// clean up stale external IPs // clean up stale external IPs
for _, line := range strings.Split(strings.Trim(outStr, "\n"), "\n") { for _, line := range strings.Split(strings.Trim(outStr, "\n"), "\n") {
route := strings.Split(strings.Trim(line, " "), " ") route := strings.Split(strings.Trim(line, " "), " ")
ip := route[0] ip := route[0]
if !activeExternalIPs[ip] { if !activeExternalIPs[ip] {
args := []string{"route", "del", "table", externalIPRouteTableId} args := []string{"route", "del", "table", externalIPRouteTableId}
args = append(args, route...) args = append(args, route...)
@ -1700,6 +1701,7 @@ func (ln *linuxNetworking) setupRoutesForExternalIPForDSR(serviceInfoMap service
} }
} }
} }
}
return nil return nil
} }