[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3-RESEND 21/28] libxl: ocaml: add NIC helper functions



> On Mon, 2013-10-21 at 14:32 +0100, Rob Hoes wrote:
> > Signed-off-by: Rob Hoes <rob.hoes@xxxxxxxxxx>
> > ---
> >  tools/ocaml/libs/xl/genwrap.py       |    5 ++++-
> >  tools/ocaml/libs/xl/xenlight_stubs.c |   36
> ++++++++++++++++++++++++++++++++++
> >  2 files changed, 40 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/ocaml/libs/xl/genwrap.py
> > b/tools/ocaml/libs/xl/genwrap.py index 721a336..c037515 100644
> > --- a/tools/ocaml/libs/xl/genwrap.py
> > +++ b/tools/ocaml/libs/xl/genwrap.py
> > @@ -31,7 +31,10 @@ functions = { # ( name , [type1,type2,....] )
> >      "device_vfb":     DEVICE_FUNCTIONS,
> >      "device_vkb":     DEVICE_FUNCTIONS,
> >      "device_disk":    DEVICE_FUNCTIONS,
> > -    "device_nic":     DEVICE_FUNCTIONS,
> > +    "device_nic":     DEVICE_FUNCTIONS +
> > +                      [ ("list",           ["ctx", "domid", "t list"]),
> > +                        ("of_devid",       ["ctx", "domid", "int", "t"]),
> > +                      ],
> >      "device_pci":     DEVICE_FUNCTIONS,
> >      "dominfo":        [ ("list",           ["ctx", "t list"]),
> >                          ("get",            ["ctx", "domid", "t"]),
> > diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c
> > b/tools/ocaml/libs/xl/xenlight_stubs.c
> > index 7e56db9..b921229 100644
> > --- a/tools/ocaml/libs/xl/xenlight_stubs.c
> > +++ b/tools/ocaml/libs/xl/xenlight_stubs.c
> > @@ -433,6 +433,42 @@ DEVICE_ADDREMOVE(vfb)
> >  DEVICE_ADDREMOVE(vkb)
> >  DEVICE_ADDREMOVE(pci)
> >
> > +value stub_xl_device_nic_of_devid(value ctx, value domid, value
> > +devid) {
> > +   CAMLparam3(ctx, domid, devid);
> > +   libxl_device_nic nic;
> > +   libxl_devid_to_device_nic(CTX, Int_val(domid), Int_val(devid),
> &nic);
> > +   CAMLreturn(Val_device_nic(&nic));
> 
> You need to libxl_device_nic_dispose(&nic) I think.

Ok, will add that (and for the following disk-related patch as well).

Rob

> > +}
> > +
> > +value stub_xl_device_nic_list(value ctx, value domid) {
> > +   CAMLparam2(ctx, domid);
> > +   CAMLlocal2(list, temp);
> > +   libxl_device_nic *c_list;
> > +   int i, nb;
> > +   uint32_t c_domid;
> > +
> > +   c_domid = Int_val(domid);
> > +
> > +   c_list = libxl_device_nic_list(CTX, c_domid, &nb);
> > +   if (!c_list)
> > +           failwith_xl(ERROR_FAIL, "nic_list");
> > +
> > +   list = temp = Val_emptylist;
> > +   for (i = 0; i < nb; i++) {
> > +           list = caml_alloc_small(2, Tag_cons);
> > +           Field(list, 0) = Val_int(0);
> > +           Field(list, 1) = temp;
> > +           temp = list;
> > +           Store_field(list, 0, Val_device_nic(&c_list[i]));
> > +           libxl_device_nic_dispose(&c_list[i]);
> > +   }
> > +   free(c_list);
> > +
> > +   CAMLreturn(list);
> > +}
> > +
> >  value stub_xl_physinfo_get(value ctx)  {
> >     CAMLparam1(ctx);
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.