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 + interruptfootnote{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