All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Smart <James.Smart@Emulex.Com>
To: Siva Kodiganti <kodiganti@gmail.com>
Cc: linux-scsi@vger.kernel.org, siva@3leafsystems.com
Subject: Re: scsi layer interfaces for hypervisors
Date: Thu, 20 Mar 2008 10:28:19 -0400	[thread overview]
Message-ID: <47E27483.3080604@emulex.com> (raw)
In-Reply-To: <b8c77ef10803192257w5629e931y28eed9ab32ed02a9@mail.gmail.com>

Siva,

I'm curious to hear how you position this against the pvscsi effort
going on in the Xen world.

-- james s

Siva Kodiganti wrote:
> Hello Linux community,
> 
>  A Project page for Virt_HBA is created on source forge.
>  https://sourceforge.net/projects/npivhba
> 
>  Project Virt_HBA is targeted for a providing patch for
>  Linux kernels to provide set of scsi layer interfaces to
>  aid Hypervisors in Linux to export Scsi Hosts to Guest
>  VMs.  Using these interfaces  Hypervisors could export
>  Scsi_Host of a virtual hba emulated by HBA hardware to
>  Guest VMs.  FC, and FCOE (may) have support for Nport
>  Virtualization, a FW/HW mechanism to emulate multiple
>  hbas(nports) using a single HBA HW.  Qlogic, and
>  Emulex have support for FC NPIV.  With this mechanism,
>  Hypervisor would be capable of mapping appropriate
>  Guest VM's shost queuecommand to underlying NPIV host's
>  queue_command, and other hostt relevant entry points(one
>  to one mapping).  This could also provide a means of
>  security for luns exported through NPIV host to be
>  visible for appropriate Guest OS, hiding from HostOS.
> 
>  Scsi Layer interfaces:
> 
>  Hypervisor's registration with scsi layer
> 
>  scsi_register_hypertt(xn_hostt, xsize);
>  xsize is size of private structure maintained by
>  hypervisor per npiv host.
> 
>  struct scsi_hyper_hostt xn_hostt {
>          .hyp_module             = "xn",
>          .hyp_psize              = size of( xhost);
>          .hyp_alloc_vhost        = xn_alloc_vhost,
>          .hyp_add_vhost          = xn_add_vhost,
>          .hyp_remove_vhost       = xn_remove_vhost,
>          .hyp_trans_func         = xn_trans_vhost,
>          .hyp_async_notifier     = xn_async_ntfr,
>          .hyp_reboot_notifier    = xn_reboot_ntfr,
>  };
> 
>  Scsi_Host {
> 
>          /* flag for FC or FCOE hw or fw hba virtulization */
>          unsigned virt_host:1;
> 
>  }
> 
>  scsi_alloc_host(), scsi_add_host(), and scsi_remove_host()
>  interfaces notify registered hypervisor about FC/FCOE
>  virtual Scsi_Host.  scsi_alloc_host() would allocate private
>  data area per scsi_host for registered hypervisors, which
>  export to Guest VMs.
> 
>  Hypervisors uses these virtual hosts' lld driver hostt entry
>  points to queue,abort,etc scsi commands to HBA driver directly
>  bypassing Host BlK, SD layers.
> 
>  Thanks,
>  Siva
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

  reply	other threads:[~2008-03-20 14:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-20  5:57 scsi layer interfaces for hypervisors Siva Kodiganti
2008-03-20 14:28 ` James Smart [this message]
2008-03-20 17:38   ` Siva Kodiganti

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=47E27483.3080604@emulex.com \
    --to=james.smart@emulex.com \
    --cc=kodiganti@gmail.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=siva@3leafsystems.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.