OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [PATCH] virtio-scsi: define VIRTIO_SCSI_F_FC_HOST


Add a new feature and the related configuration fields.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 content.tex | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/content.tex b/content.tex
index ab3d7b4..5949c50 100644
--- a/content.tex
+++ b/content.tex
@@ -5095,6 +5095,12 @@ This section relies on definitions from \hyperref[intro:SAM]{SAM}.
 
 \item[VIRTIO_SCSI_F_T10_PI (3)] The extended fields for T10 protection
     information (DIF/DIX) are included in the SCSI request header.
+
+\item[VIRTIO_SCSI_F_FC_HOST (4)] The host reports the Fibre Channel
+    WWNN and WWPN information for the adapter in configuration space.
+    After negotiating this feature, the guest SHOULD handle configuration
+    change interrupts to detect a switch from primary WWNN and WWPN
+    to secondary, or vice versa.
 \end{description}
 
 \subsection{Device configuration layout}\label{sec:Device Types / SCSI Host Device / Device configuration layout}
@@ -5113,6 +5119,11 @@ struct virtio_scsi_config {
         le16 max_channel;
         le16 max_target;
         le32 max_lun;
+        u8   primary_wwpn[8];
+        u8   primary_wwnn[8];
+        u8   secondary_wwpn[8];
+        u8   secondary_wwnn[8];
+        u8   primary_active;
 };
 \end{lstlisting}
 
@@ -5158,6 +5169,20 @@ struct virtio_scsi_config {
     or equal to the value of the fields.  \field{max_channel} SHOULD
     be zero.  \field{max_target} SHOULD be less than or equal to 255.
     \field{max_lun} SHOULD be less than or equal to 16383.
+
+\item[\field{primary_wwpn}, \field{primary_wwnn}, \field{secondary_wwpn}
+    and \field{secondary_wwnn}] are only valid if VIRTIO_SCSI_F_FC_HOST
+    have been negotiated.  They provide two pairs of Fibre Channel
+    addresses, each consisting of a World Wide Port Name and a World
+    Wide Node Name.  One of the pairs is the active one.
+
+\item[\field{primary_active}] is also only valid if VIRTIO_SCSI_F_FC_HOST
+    is negatiated.  If 1, the active Fibre Channel address is the primary;
+    if 0, the active Fibre Channel address is the secondary.  This field
+    MAY change whenever the device triggers a configuration change
+    interrupt\footnote{Usually, the value of \field{primary_active} will
+        flip from 0 to 1 and back on virtual machine migration.  This avoids
+        that two hosts use the same WWNN and WWPN at the same time.}.
 \end{description}
 
 \drivernormative{\subsubsection}{Device configuration layout}{Device Types / SCSI Host Device / Device configuration layout}
@@ -5174,6 +5199,9 @@ linked commands to one LUN.
 On reset, the device MUST set \field{sense_size} to 96 and
 \field{cdb_size} to 32.
 
+Fields other than \field{primary_active} MUST NOT change whenever a
+device triggers a configuration change interrupt.
+
 \subsubsection{Legacy Interface: Device configuration layout}\label{sec:Device Types / SCSI Host Device / Device configuration layout / Legacy Interface: Device configuration layout}
 When using the legacy interface, transitional devices and drivers
 MUST format the fields in struct virtio_scsi_config
-- 
2.9.3



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]