// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="DMTFCR01614.001" type ="add">
// Add properties PrimaryAuthenticationMethod and
// SecondaryAuthenticationMethod.</change>
// <change cr="DMTFCR01616.001" type ="add">
// Add value "none" to the DigestMethod properties & update
// corresponding descriptions.</change>
// <change cr="DMTFCR01618.002" type ="change">
// Augment class description.</change>
// <change cr="NetworksCR00062.000" type ="change">
// Move class from Experimental to Final in v2.11.</change>



// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_iSCSIConnectionSettings
// ==================================================================
   [UMLPackagePath ( "CIM::Network::iSCSI" ), Version ( "2.11.0" ), 
    Description (
       "The settings for the usage of an iSCSI NetworkPortal by an "
       "iSCSIProtcolEndpoint. These settings are the starting point "
       "for negotiation for connection establishment. If an "
       "implmentation supports different connections settings for a "
       "NetworkPortal for each iSCSIProtocolEndpoint that is bound to "
       "it, an instance of this class will be associated by "
       "ElementSettingData to an instance of iSCSIProtocolEndpoint. If "
       "an implementation supports the same connection settings for a "
       "NetworkPortal for all iSCSIProtocolEndpoints then an instance "
       "of this class will be associated by ElementSettingData to an "
       "instance of either TCPProtocolEndpoint (When the NetworkPortal "
       "is a target) or IPProtocolEndpoint (When the NetworkPortal is "
       "an initiator). The properties that reflect the actual outcome "
       "of the negotiation are found in the iSCSIConnection class.")]
class CIM_iSCSIConnectionSettings : CIM_SettingData {

      [Write, Description (
          "The maximum PDU length this portal can receive. This MAY be "
          "constrained by hardware characteristics and individual "
          "implementations MAY choose not to allow this property to be "
          "changed."), 
       Units ( "Bytes" ), MinValue ( 512 ), MaxValue ( 16777215 ), 
       MappingStrings { 
          "MIB.IETF|iSCSI-MIB.iscsiPortalMaxRecvDataSegLength" }, 
       ModelCorrespondence { 
          "CIM_iSCSIConnection.MaxReceiveDataSegmentLength" }]
   uint32 MaxReceiveDataSegmentLength = 8192;

      [Write, Description (
          "The preferred header digest for this portal."), 
       ValueMap { "1", "2", "3" }, 
       Values { "Other", "No Digest", "CRC32C" }, 
       MappingStrings { 
          "MIB.IETF|iSCSI-MIB.iscsiPortalPrimaryHdrDigest" }, 
       ModelCorrespondence { "CIM_iSCSIConnection.HeaderDigestMethod",
          "CIM_iSCSIConnectionSettings.OtherPrimaryHeaderDigestMethod" 
          }]
   uint16 PrimaryHeaderDigestMethod = 3;

      [Write, Description (
          "A string describing the preferred Header Digest method when "
          "PrimaryHeaderDigestMethod is equal to the value 1, "
          "\"Other\"."), 
       ModelCorrespondence { 
          "CIM_iSCSIConnection.OtherHeaderDigestMethod",
          "CIM_iSCSIConnectionSettings.PrimaryHeaderDigestMethod" }]
   string OtherPrimaryHeaderDigestMethod;

      [Write, Description (
          "The preferred data digest method for this portal."), 
       ValueMap { "1", "2", "3" }, 
       Values { "Other", "No Digest", "CRC32C" }, 
       MappingStrings { 
          "MIB.IETF|iSCSI-MIB.iscsiPortalPrimaryDataDigest" }, 
       ModelCorrespondence { "CIM_iSCSIConnection.DataDigestMethod",
          "CIM_iSCSIConnectionSettings.OtherPrimaryDataDigestMethod" }]
   uint16 PrimaryDataDigestMethod = 3;

      [Write, Description (
          "A string describing the preferred Data Digest method when "
          "PrimaryDataDigestMethod is equal to the value 1, \"Other\"."), 
       ModelCorrespondence { 
          "CIM_iSCSIConnection.OtherDataDigestMethod",
          "CIM_iSCSIConnectionSettings.PrimaryDataDigestMethod" }]
   string OtherPrimaryDataDigestMethod;

      [Write, Description (
          "The secondary header digest preference for this portal."), 
       ValueMap { "1", "2", "3", "4" }, 
       Values { "Other", "No Digest", "CRC32C",
          "No Secondary Preference" }, 
       MappingStrings { 
          "MIB.IETF|iSCSI-MIB.iscsiPortalSecondaryHdrDigest" }, 
       ModelCorrespondence { "CIM_iSCSIConnection.HeaderDigestMethod",
          "CIM_iSCSIConnectionSettings.OtherSecondaryHeaderDigestMethod" 
          }]
   uint16 SecondaryHeaderDigestMethod = 2;

      [Write, Description (
          "A string describing the alternate Header Digest method "
          "preference when SecondaryHeaderDigestMethod is equal to the "
          "value 1, \"Other\"."), 
       ModelCorrespondence { 
          "CIM_iSCSIConnection.OtherHeaderDigestMethod",
          "CIM_iSCSIConnectionSettings.SecondaryHeaderDigestMethod" }]
   string OtherSecondaryHeaderDigestMethod;

      [Write, Description (
          "The secondary data digest preference for this portal."), 
       ValueMap { "1", "2", "3", "4" }, 
       Values { "Other", "No Digest", "CRC32C",
          "No Secondary Preference" }, 
       MappingStrings { 
          "MIB.IETF|iSCSI-MIB.iscsiPortalSecondaryDataDigest" }, 
       ModelCorrespondence { "CIM_iSCSIConnection.DataDigestMethod",
          "CIM_iSCSIConnectionSettings.OtherSecondaryDataDigestMethod" 
          }]
   uint16 SecondaryDataDigestMethod = 2;

      [Write, Description (
          "A string describing the alternate Data Digest method "
          "preference when SecondaryDataDigestMethod is equal to the "
          "value 1, \"Other\"."), 
       ModelCorrespondence { 
          "CIM_iSCSIConnection.OtherDataDigestMethod",
          "CIM_iSCSIConnectionSettings.SecondaryDataDigestMethod" }]
   string OtherSecondaryDataDigestMethod;

      [Write, Description (
          "This property indicates whether or not this portal will "
          "request markers in it's incoming data stream."), 
       MappingStrings { "MIB.IETF|iSCSI-MIB.iscsiPortalRecvMarker" }, 
       ModelCorrespondence { "CIM_iSCSIConnection.ReceivingMarkers" }]
   boolean RequestingMarkersOnReceive = false;

      [Description (
          "The preferred primary authentication method for "
          "connections, as communicated during the login phase."), 
       ValueMap { "2", "3", "4", "5", "6" }, 
       Values { "None", "No Authentication", "SRP", "CHAP",
       "Kerberos" }, 
       MappingStrings { "MIB.IETF|IPS-AUTH-MIB.ipsAuthCredAuthMethod" }, 
       ModelCorrespondence { 
          "CIM_iSCSICapabilities.AuthenticationMethodsSupported",
          "CIM_iSCSIConnectionSettings.SecondaryAuthenticationMethod",
          "CIM_iSCSIConnection.AuthenticationMethodUsed" }]
   uint16 PrimaryAuthenticationMethod = 5;

      [Description (
          "The preferred secondary authentication method for "
          "connections, as communicated during the login phase."), 
       ValueMap { "2", "3", "4", "5", "6" }, 
       Values { "None", "No Authentication", "SRP", "CHAP",
       "Kerberos" }, 
       MappingStrings { "MIB.IETF|IPS-AUTH-MIB.ipsAuthCredAuthMethod" }, 
       ModelCorrespondence { 
          "CIM_iSCSICapabilities.AuthenticationMethodsSupported",
          "CIM_iSCSIConnectionSettings.PrimaryAuthenticationMethod",
          "CIM_iSCSIConnection.AuthenticationMethodUsed" }]
   uint16 SecondaryAuthenticationMethod = 3;
};
