From 642d15f839fa6fbe19d371b7fb426f789b82cc91 Mon Sep 17 00:00:00 2001 From: "David M. Johnson" Date: Tue, 8 May 2018 08:17:09 -0600 Subject: [PATCH] Fix nasty bugs in failed docker rootPreConfigNetwork error dealloc. --- .../tmcc/linux/docker/libvnode_docker.pm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/clientside/tmcc/linux/docker/libvnode_docker.pm b/clientside/tmcc/linux/docker/libvnode_docker.pm index 48e462e4c..c41ca25c9 100644 --- a/clientside/tmcc/linux/docker/libvnode_docker.pm +++ b/clientside/tmcc/linux/docker/libvnode_docker.pm @@ -2735,10 +2735,13 @@ sub rootPreConfigNetwork($$$$) # of any other macvlan devices). if (exists($private->{'vlandevs'})) { foreach my $brname (keys(%{ $private->{'vlandevs'} })) { - my $brv = getBridgeForIface($private->{'dummys'}->{$brname}); - my @mvs = getMacvlanIfaces($private->{'dummys'}->{$brname}); + my $viface = $private->{'vlandevs'}->{$brname}; + next + if (!defined($viface)); + my $brv = getBridgeForIface($viface); + my @mvs = getMacvlanIfaces($viface); if (!defined($brv) && @mvs == 0) { - mysystem2("$IP link del dev $brname"); + mysystem2("$IP link del dev $viface"); delete($private->{'vlandevs'}->{$brname}) if ($?); } @@ -4213,10 +4216,13 @@ sub vnodeDestroy($$$$) # of any other macvlan devices). if (exists($private->{'vlandevs'})) { foreach my $brname (keys(%{ $private->{'vlandevs'} })) { - my $brv = getBridgeForIface($private->{'dummys'}->{$brname}); - my @mvs = getMacvlanIfaces($private->{'dummys'}->{$brname}); + my $viface = $private->{'vlandevs'}->{$brname}; + next + if (!defined($viface)); + my $brv = getBridgeForIface($viface); + my @mvs = getMacvlanIfaces($viface); if (!defined($brv) && @mvs == 0) { - mysystem2("$IP link del dev $brname"); + mysystem2("$IP link del dev $viface"); delete($private->{'vlandevs'}->{$brname}) if ($?); } -- GitLab