From: Nick Rosbrook Date: Sun, 12 Apr 2020 22:02:40 +0000 (-0400) Subject: golang/xenlight: add DeviceNicAdd/Remove wrappers X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~365 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0f140aa92029516858cc986837dc902b88bd1675;p=xen.git golang/xenlight: add DeviceNicAdd/Remove wrappers Add DeviceNicAdd and DeviceNicRemove as wrappers for libxl_device_nic_add and libxl_device_nic_remove. Signed-off-by: Nick Rosbrook Reviewed-by: George Dunlap --- diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenlight.go index 3f1b0baa0c..961939e947 100644 --- a/tools/golang/xenlight/xenlight.go +++ b/tools/golang/xenlight/xenlight.go @@ -1045,3 +1045,37 @@ func (Ctx *Context) PrimaryConsoleGetTty(domid uint32) (path string, err error) path = C.GoString(cpath) return } + +// DeviceNicAdd adds a nic to a domain. +func (Ctx *Context) DeviceNicAdd(domid Domid, nic *DeviceNic) error { + var cnic C.libxl_device_nic + + if err := nic.toC(&cnic); err != nil { + return err + } + defer C.libxl_device_nic_dispose(&cnic) + + ret := C.libxl_device_nic_add(Ctx.ctx, C.uint32_t(domid), &cnic, nil) + if ret != 0 { + return Error(ret) + } + + return nil +} + +// DeviceNicRemove removes a nic from a domain. +func (Ctx *Context) DeviceNicRemove(domid Domid, nic *DeviceNic) error { + var cnic C.libxl_device_nic + + if err := nic.toC(&cnic); err != nil { + return err + } + defer C.libxl_device_nic_dispose(&cnic) + + ret := C.libxl_device_nic_remove(Ctx.ctx, C.uint32_t(domid), &cnic, nil) + if ret != 0 { + return Error(ret) + } + + return nil +}