Remote Procedure Call (RPC) over AF_VSOCK
draft-stefanha-nfsv4-rpc-over-vsock-00

Document Type Active Internet-Draft (individual)
Last updated 2017-11-24
Stream (None)
Intended RFC status (None)
Formats plain text xml pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Network File System Version 4                           S. Hajnoczi, Ed.
Internet-Draft                                             Red Hat, Inc.
Intended status: Informational                         November 23, 2017
Expires: May 27, 2018

               Remote Procedure Call (RPC) over AF_VSOCK
                 draft-stefanha-nfsv4-rpc-over-vsock-00

Abstract

   This document describes how to transfer Remote Procedure Call (RPC)
   messages over AF_VSOCK sockets.  This allows RPC services such as
   Network File System (NFS) to operate over AF_VSOCK.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on May 27, 2018.

Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Hajnoczi                  Expires May 27, 2018                  [Page 1]
Internet-Draft  Remote Procedure Call (RPC) over AF_VSOCK  November 2017

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Status of AF_VSOCK  . . . . . . . . . . . . . . . . . . . . .   2
   3.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   4.  Intended Use  . . . . . . . . . . . . . . . . . . . . . . . .   3
   5.  Network Addresses . . . . . . . . . . . . . . . . . . . . . .   4
   6.  Use of netids for AF_VSOCK  . . . . . . . . . . . . . . . . .   4
   7.  Uaddr Format for AF_VSOCK . . . . . . . . . . . . . . . . . .   4
   8.  Record Marking on Connection-oriented Sockets . . . . . . . .   4
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   10. IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
     10.1.  Netids for AF_VSOCK  . . . . . . . . . . . . . . . . . .   5
     10.2.  Uaddr Format for AF_VSOCK  . . . . . . . . . . . . . . .   6
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     11.1.  Normative References . . . . . . . . . . . . . . . . . .   6
     11.2.  Informative References . . . . . . . . . . . . . . . . .   6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   The AF_VSOCK address family facilitates socket communication between
   a hypervisor and virtual machines running on the hypervisor.  It was
   implemented in Linux 3.9 with initial support for VMware.  Further
   hypervisor support was added for KVM and Hyper-V later.  AF_VSOCK
   services can run on any supported hypervisor because semantics remain
   the same across hypervisors.

   ONC RPC services are bound to transport addresses [RFC1833].
   Transport addresses are described by network identifiers (netids) and
   universal address strings.  This standard representation of transport
   addresses allows address information to be communicated between
   client programs and RPC services, including the RPCBIND program.

   It is necessary to define a network identifier and universal address
   representation so that ONC RPC may be used over AF_VSOCK.  This
   document describes string representations for the AF_VSOCK netids and
   universal addresses.

2.  Status of AF_VSOCK

   This section provides background information that may help reviewers
   suggest how to proceed with this document.  It is not intended to be
   included unchanged in the final document.

   The Linux AF_VSOCK address family does not have a specification
   document.  AF_VSOCK is purely an implementation that first became
   available in Linux in 2013.

Hajnoczi                  Expires May 27, 2018                  [Page 2]
Internet-Draft  Remote Procedure Call (RPC) over AF_VSOCK  November 2017

   The Linux community generally uses VMware's AF_VSOCK driver as a
   reference for how sockets should behave.  This tends to mirror TCP
   for SOCK_STREAM and UDP for SOCK_DGRAM so that porting applications
Show full document text