linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: George Zhang <georgezhang@vmware.com>
To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	georgezhang@vmware.com,
	virtualization@lists.linux-foundation.org
Cc: pv-drivers@vmware.com, vm-crosstalk@vmware.com,
	davem@davemloft.net, gregkh@linuxfoundation.org
Subject: [PATCH 0/6] VSOCK for Linux upstreaming
Date: Mon, 15 Oct 2012 17:31:56 -0700	[thread overview]
Message-ID: <20121016003033.27018.90426.stgit@promb-2n-dhcp175.eng.vmware.com> (raw)


* * *

In an effort to improve the out-of-the-box experience with Linux
kernels for VMware users, VMware is working on readying the Virtual
Machine Communication Interface (vmw_vmci) and VMCI Sockets (VSOCK)
(vmw_vsock) kernel modules for inclusion in the Linux kernel. The
purpose of this post is to acquire feedback on the vmw_vsock kernel
module. The vmw_vmci kernel module has been presented in an early post.


* * *

VMCI Sockets allows virtual machines to communicate with host kernel
modules and the VMware hypervisors. VMCI Sockets kernel module has
dependency on VMCI kernel module. User level applications both in
a virtual machine and on the host can use vmw_vmci through VMCI
Sockets API which facilitates fast and efficient communication
between guest virtual machines and their host. A socket
address family designed to be compatible with UDP and TCP at the
interface level. Today, VMCI and VMCI Sockets are used by the VMware
shared folders (HGFS) and various VMware Tools components inside the
guest for zero-config, network-less access to VMware host services. In
addition to this, VMware's users are using VMCI Sockets for various
applications, where network access of the virtual machine is
restricted or non-existent. Examples of this are VMs communicating
with device proxies for proprietary hardware running as host
applications and automated testing of applications running within
virtual machines.

The VMware VMCI Sockets are similar to other socket types, like
Berkeley UNIX socket interface. The VMCI sockets module supports
both connection-oriented stream sockets like TCP, and connectionless
datagram sockets like UDP. The VSOCK protocol family is defined as
"AF_VSOCK" and the socket operations split for SOCK_DGRAM and
SOCK_STREAM.

For additional information about the use of VMCI and in particular
VMCI Sockets, please refer to the VMCI Socket Programming Guide
available at https://www.vmware.com/support/developer/vmci-sdk/.



---

George Zhang (6):
      VSOCK: vsock protocol implementation.
      VSOCK: vsock address implementaion.
      VSOCK: notification implementation.
      VSOCK: statistics implementation.
      VSOCK: utility functions.
      VSOCK: header and config files.


 net/Kconfig                         |    1 
 net/Makefile                        |    1 
 net/vmw_vsock/Kconfig               |   14 
 net/vmw_vsock/Makefile              |    8 
 net/vmw_vsock/af_vsock.c            | 4259 +++++++++++++++++++++++++++++++++++
 net/vmw_vsock/af_vsock.h            |  179 +
 net/vmw_vsock/notify.c              | 1041 +++++++++
 net/vmw_vsock/notify.h              |  130 +
 net/vmw_vsock/notify_qstate.c       |  670 ++++++
 net/vmw_vsock/stats.c               |   37 
 net/vmw_vsock/stats.h               |  222 ++
 net/vmw_vsock/util.c                |  694 ++++++
 net/vmw_vsock/util.h                |  331 +++
 net/vmw_vsock/vmci_sockets.h        |  517 ++++
 net/vmw_vsock/vmci_sockets_packet.h |  107 +
 net/vmw_vsock/vsock_addr.c          |  264 ++
 net/vmw_vsock/vsock_addr.h          |   40 
 net/vmw_vsock/vsock_common.h        |  130 +
 net/vmw_vsock/vsock_packet.h        |  131 +
 net/vmw_vsock/vsock_version.h       |   29 
 20 files changed, 8805 insertions(+), 0 deletions(-)
 create mode 100644 net/vmw_vsock/Kconfig
 create mode 100644 net/vmw_vsock/Makefile
 create mode 100644 net/vmw_vsock/af_vsock.c
 create mode 100644 net/vmw_vsock/af_vsock.h
 create mode 100644 net/vmw_vsock/notify.c
 create mode 100644 net/vmw_vsock/notify.h
 create mode 100644 net/vmw_vsock/notify_qstate.c
 create mode 100644 net/vmw_vsock/stats.c
 create mode 100644 net/vmw_vsock/stats.h
 create mode 100644 net/vmw_vsock/util.c
 create mode 100644 net/vmw_vsock/util.h
 create mode 100644 net/vmw_vsock/vmci_sockets.h
 create mode 100644 net/vmw_vsock/vmci_sockets_packet.h
 create mode 100644 net/vmw_vsock/vsock_addr.c
 create mode 100644 net/vmw_vsock/vsock_addr.h
 create mode 100644 net/vmw_vsock/vsock_common.h
 create mode 100644 net/vmw_vsock/vsock_packet.h
 create mode 100644 net/vmw_vsock/vsock_version.h

-- 
Signature

             reply	other threads:[~2012-10-16  0:38 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-16  0:31 George Zhang [this message]
2012-10-16  0:32 ` [PATCH 1/6] VSOCK: vsock protocol implementation George Zhang
2012-10-16  0:32 ` [PATCH 2/6] VSOCK: vsock address implementaion George Zhang
2012-10-16  0:32 ` [PATCH 3/6] VSOCK: notification implementation George Zhang
2012-10-16  0:32 ` [PATCH 4/6] VSOCK: statistics implementation George Zhang
2012-10-16  0:33 ` [PATCH 5/6] VSOCK: utility functions George Zhang
2012-10-16  0:33 ` [PATCH 6/6] VSOCK: header and config files George Zhang
2012-11-05 18:00 [PATCH 0/6] VSOCK for Linux upstreaming George Zhang
2012-11-05 18:09 ` David Miller
2012-11-05 18:10   ` David Miller
2012-11-05 18:24     ` George Zhang
2012-11-05 18:23 ` Sasha Levin
2012-11-05 18:32   ` George Zhang
2012-11-11 21:59     ` Sasha Levin
2012-11-06  9:00 ` Stephen Hemminger
2012-11-06  9:06   ` Stephen Hemminger
2012-11-07 18:45 George Zhang
2012-11-21 20:39 George Zhang
2013-01-08 23:59 George Zhang
2013-01-09  0:21 ` Greg KH
2013-01-09  1:30   ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121016003033.27018.90426.stgit@promb-2n-dhcp175.eng.vmware.com \
    --to=georgezhang@vmware.com \
    --cc=davem@davemloft.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pv-drivers@vmware.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=vm-crosstalk@vmware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).