Improve Use of Force in ldm evacuate-io
and restore-io
Bug ID 30508890: If the target device for the evacuate-io
command is a network device and the physical function (PF) is providing a persistent Internet Protocol (IP) interface to the Root Domain in which it is installed, then the evacuate-io
command will fail. For example:
primary# ldm evacuate-io /SYS/RCSA/PCIE14
Failed to power off /SYS/RCSA/PCIE14 in domain nprd.
Error message from svc:/ldoms/agents in domain nprd:
Poweroff Failed. ERROR: devices or resources are busy.
/pci@30e/pci@1/network@0:
{ Hold: module specfs (modid=5): Device opened. }
{ Open: module udp6 (modid=87). }
{ Open: module udp (modid=86). }
{ Network interface net3 }
{ net3: plumbed but down }
{ Plumbed IP Address }
To allow the evacuate-io
command to succeed, the IP interface must be deleted from the active configuration and removed from the persistent configuration. The following command will delete and remove the IP interface:
nprd# ipadm delete-ip netx
where netx is the net0-netn
name for the interface. This net alias name for the NAC name used with the evacuate-io
command can be found in the output of the hotplug list -vl
command.
Once the interface is deleted and removed, run the evacuate-io
command again:
primary# ldm evacuate-io /SYS/RCSA/PCIE14
primary#
It is expected that the PF of the device in the Root Domain is generally not in use on field configurations for those devices that are providing virtual functions (VFs) to other domains. So the exposure to this failure mode is limited.