ICBINN

Copyright 2012 by Citrix Systems, Inc. This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.

icbinn is "I can't believe it's not NFS". It is like NFS, but uses libv4v and libtirpc.

icbinn allows VMs to access dom0's filesystem and perform operations like readdir, stat, open, pread, pwrite, rename etc. For a complete list of operations supported, please refer to the icbinn protocol description file icbinn_prot.x. The icbinn server runs in dom0.

The icbinn "paths" of a vm indicate directory trees that VM can access. We currently support 2 icbinn paths for each vm, and the icbinn-path vm property is a comma-separated list of paths. You can set the icbinn-path for the vm, using xec-vm -n <vmname> set icbinn-path.

The icbinn server listens on two ports: 4878 and 4879. If a client connects to port 4878, it will get access to the first icbinn-path set in the VMs icbinn-path property, and so on.

In order to use icbinn from a VM, a client library needs to be installed in the vm (libicbinn), but you would need to write your own client which uses this library. E.g. syncvm has its own python client, which uses libicbinn.