mirror of
				https://github.com/kata-containers/kata-containers.git
				synced 2025-10-31 01:13:02 +00:00 
			
		
		
		
	clh: Add hotplug support for network devices
This is needed in order to have Moby / Docker working properly with Cloud Hypervisor, as Moby / Docker relies on hotplugging a network device to the VM as a preStartHook. Fixes: #5997 Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
		| @@ -886,6 +886,15 @@ func (clh *cloudHypervisor) hotPlugVFIODevice(device *config.VFIODev) error { | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| func (clh *cloudHypervisor) hotplugAddNetDevice(e Endpoint) error { | ||||
| 	err := clh.addNet(e) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	return clh.vmAddNetPut() | ||||
| } | ||||
|  | ||||
| func (clh *cloudHypervisor) HotplugAddDevice(ctx context.Context, devInfo interface{}, devType DeviceType) (interface{}, error) { | ||||
| 	span, _ := katatrace.Trace(ctx, clh.Logger(), "HotplugAddDevice", clhTracingTags, map[string]string{"sandbox_id": clh.id}) | ||||
| 	defer span.End() | ||||
| @@ -897,6 +906,9 @@ func (clh *cloudHypervisor) HotplugAddDevice(ctx context.Context, devInfo interf | ||||
| 	case VfioDev: | ||||
| 		device := devInfo.(*config.VFIODev) | ||||
| 		return nil, clh.hotPlugVFIODevice(device) | ||||
| 	case NetDev: | ||||
| 		device := devInfo.(Endpoint) | ||||
| 		return nil, clh.hotplugAddNetDevice(device) | ||||
| 	default: | ||||
| 		return nil, fmt.Errorf("cannot hotplug device: unsupported device type '%v'", devType) | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user