Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
ZMQ_VMCI(7)			  0MQ Manual			   ZMQ_VMCI(7)

       zmq_vmci	- 0MQ transport	over virtual machine communicatios interface
       (VMCI) sockets

       The VMCI	transport passes messages between VMware virtual machines
       running on the same host, between virtual machine and the host and
       within virtual machines (inter-process transport	like ipc).

	   Communication between a virtual machine and the host	is not
	   supported on	Mac OS X 10.9 and above.

       A 0MQ endpoint is a string consisting of	a transport:// followed	by an
       address.	The transport specifies	the underlying protocol	to use.	The
       address specifies the transport-specific	address	to connect to.

       For the VMCI transport, the transport is	vmci, and the meaning of the
       address part is defined below.

   Binding a socket
       When binding a socket to	a local	address	using zmq_bind() with the vmci
       transport, the endpoint shall be	interpreted as an interface followed
       by a colon and the TCP port number to use.

       An interface may	be specified by	either of the following:

       o   The wild-card *, meaning all	available interfaces.

       o   An integer returned by VMCISock_GetLocalCID or @ (ZeroMQ will call
	   VMCISock_GetLocalCID	internally).

       The port	may be specified by:

       o   A numeric value, usually above 1024 on POSIX	systems.

       o   The wild-card *, meaning a system-assigned ephemeral	port.

   Unbinding wild-card address from a socket
       When wild-card *	endpoint was used in zmq_bind(), the caller should use
       real endpoint obtained from the ZMQ_LAST_ENDPOINT socket	option to
       unbind this endpoint from a socket using	zmq_unbind().

   Connecting a	socket
       When connecting a socket	to a peer address using	zmq_connect() with the
       vmci transport, the endpoint shall be interpreted as a peer address
       followed	by a colon and the port	number to use.

       A peer address must be a	CID of the peer.

       Assigning a local address to a socket.

	   //  VMCI port 5555 on all available interfaces
	   rc =	zmq_bind(socket, "vmci://*:5555");
	   assert (rc == 0);
	   //  VMCI port 5555 on the local loop-back interface on all platforms
	   cid = VMCISock_GetLocalCID();
	   sprintf(endpoint, "vmci://%d:5555", cid);
	   rc =	zmq_bind(socket, endpoint);
	   assert (rc == 0);

       Connecting a socket.

	   //  Connecting using	a CID
	   sprintf(endpoint, "vmci://%d:5555", cid);
	   rc =	zmq_connect(socket, endpoint);
	   assert (rc == 0);

       zmq_bind(3) zmq_connect(3) zmq_inproc(7)	zmq_tcp(7) zmq_pgm(7)
       zmq_vmci(7) zmq_getsockopt(3) zmq(7)

       This page was written by	the 0MQ	community. To make a change please
       read the	0MQ Contribution Policy	at

0MQ 4.3.4			  01/17/2021			   ZMQ_VMCI(7)


Want to link to this manual page? Use this URL:

home | help