Skip to content

Commit 6a85f86

Browse files
committed
CA-323523: Always stop any dhclient process before destroying a bridge
Signed-off-by: Rob Hoes <[email protected]>
1 parent af0b2bb commit 6a85f86

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

networkd/network_server.ml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,7 @@ module Bridge = struct
571571

572572
(* Destroy any existing OVS bridge that isn't the "wanted bridge" and has the
573573
* given VLAN on it. *)
574-
let destroy_existing_vlan_ovs_bridge wanted_bridge (parent, vlan) =
574+
let destroy_existing_vlan_ovs_bridge dbg wanted_bridge (parent, vlan) =
575575
let vlan_bridges =
576576
let raw = Ovs.vsctl ["--bare"; "-f"; "table"; "--"; "--columns=name"; "find"; "port"; "fake_bridge=true"; "tag=" ^ (string_of_int vlan)] in
577577
if raw <> "" then Astring.String.cuts ~empty:false ~sep:"\n" (String.trim raw) else []
@@ -586,6 +586,7 @@ module Bridge = struct
586586
if bridge <> wanted_bridge then begin
587587
debug "Destroying existing bridge %s" bridge;
588588
remove_config bridge;
589+
Interface.set_ipv4_conf dbg bridge None4;
589590
ignore (Ovs.destroy_bridge bridge)
590591
end
591592
) existing_bridges
@@ -600,6 +601,7 @@ module Bridge = struct
600601
debug "Destroying existing bridge %s" bridge;
601602
Interface.bring_down dbg bridge;
602603
remove_config bridge;
604+
Interface.set_ipv4_conf dbg bridge None4;
603605
List.iter (fun dev ->
604606
Brctl.destroy_port bridge dev;
605607
) ifaces_on_bridge;
@@ -659,7 +661,7 @@ module Bridge = struct
659661
None)
660662
in
661663
let old_igmp_snooping = Ovs.get_mcast_snooping_enable ~name in
662-
Xapi_stdext_monadic.Opt.iter (destroy_existing_vlan_ovs_bridge name) vlan;
664+
Xapi_stdext_monadic.Opt.iter (destroy_existing_vlan_ovs_bridge dbg name) vlan;
663665
ignore (Ovs.create_bridge ?mac ~fail_mode ?external_id ?disable_in_band ?igmp_snooping
664666
vlan vlan_bug_workaround name);
665667
if igmp_snooping = Some true && not old_igmp_snooping then

0 commit comments

Comments
 (0)