mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-03 18:47:03 +00:00
network: support hotplug a nic several times
Bind back the nic's MAC in HotDetach. So we don't need to modify nic's MAC in description to hotplug it again. Fixes: #894 Signed-off-by: Ruidong Cao <caoruidong@huawei.com>
This commit is contained in:
parent
d895cd0f2d
commit
2f98b3ee90
@ -985,6 +985,15 @@ func untapNetworkPair(endpoint Endpoint) error {
|
||||
return err
|
||||
}
|
||||
|
||||
hardAddr, err := net.ParseMAC(netPair.TAPIface.HardAddr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := netHandle.LinkSetHardwareAddr(link, hardAddr); err != nil {
|
||||
return fmt.Errorf("Could not set MAC address %s for veth interface %s: %s",
|
||||
netPair.VirtIface.HardAddr, netPair.VirtIface.Name, err)
|
||||
}
|
||||
|
||||
if err := netHandle.LinkSetDown(link); err != nil {
|
||||
return fmt.Errorf("Could not disable veth %s: %s", netPair.VirtIface.Name, err)
|
||||
}
|
||||
@ -1038,6 +1047,15 @@ func unBridgeNetworkPair(endpoint Endpoint) error {
|
||||
return err
|
||||
}
|
||||
|
||||
hardAddr, err := net.ParseMAC(netPair.TAPIface.HardAddr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := netHandle.LinkSetHardwareAddr(link, hardAddr); err != nil {
|
||||
return fmt.Errorf("Could not set MAC address %s for veth interface %s: %s",
|
||||
netPair.VirtIface.HardAddr, netPair.VirtIface.Name, err)
|
||||
}
|
||||
|
||||
if err := netHandle.LinkSetDown(link); err != nil {
|
||||
return fmt.Errorf("Could not disable veth %s: %s", netPair.VirtIface.Name, err)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user