set_new_config state cfg;
Xenvmlib.Ok
+let list_nic state =
+ let cfg = state.vm_cfg in
+ let header = " id | bridge | mac | model" in
+ let nic_string nic =
+ Printf.sprintf "%3d |%11s |%18s |%30s"
+ nic.Vmconfig.nic_id
+ nic.Vmconfig.nic_bridge
+ nic.Vmconfig.nic_mac
+ nic.Vmconfig.nic_model
+ in
+ let nics = List.sort (fun a b -> compare a.nic_id b.nic_id) cfg.nics in
+ let nic_lines = List.map nic_string nics in
+ let msg = List.fold_left (fun acc x -> acc ^ "\n" ^ x) "" nic_lines in
+ Xenvmlib.Msg (header ^ msg)
+
let list_pci state =
let header = "pci-dom | bus | slot | func | bind | msi-trans | power-mgmt" in
let pci_dev_string p =
Printf.sprintf "%7d |%4d |%5d |%5d |%5s |%10d |%11d"
p.pci_domain p.pci_bus p.pci_slot p.pci_func bind msi_trans power_mgmt in
let pci_lines = List.map pci_dev_string state.vm_pcis in
- let msg = List.fold_left (fun x acc -> "\n" ^ acc ^ x) "" pci_lines in
+ let msg = List.fold_left (fun acc x -> acc ^ "\n" ^ x) "" pci_lines in
Xenvmlib.Msg (header ^ msg)
Vmact.add_pci state id domain bus slot func bind msitranslate power_mgmt
| Tasks.DelDisk | Tasks.DelNic | Tasks.DelPCI ->
Xenvmlib.Error "not implemented"
- | Tasks.ListDisk | Tasks.ListNic ->
+ | Tasks.ListDisk ->
Xenvmlib.Error "not implemented"
+ | Tasks.ListNic ->
+ Vmact.list_nic state
| Tasks.ListPCI ->
Vmact.list_pci state
| Tasks.Get ->