第五章 iSNSP消息格式(iSNSP Message Format)-- 七、应答消息

        iSNSP应答消息的PDU Payload包含一个Status Code,并有以下的属性:
          MSb                                    LSb
0 31
+----------------------------------------+
| 4-byte STATUS CODE |
+----------------------------------------+
| Message Key Attribute[1] (if present) |
+----------------------------------------+
| Message Key Attribute[2] (if present) |
+----------------------------------------+
| . . . |
+----------------------------------------+
| - Delimiter Attribute - (if present) |
+----------------------------------------+
| Operating Attribute[1] (if present) |
+----------------------------------------+
| Operating Attribute[2] (if present) |
+----------------------------------------+
| Operating Attribute[3] (if present) |
+----------------------------------------+
| . . . |
+----------------------------------------+
        iSNSP应答消息应该(SHALL)发向原消息中的iSNS客户端IP地址和TCP/UDP Port。
7.1 Status Code
        iSNSP应答消息PDU Payload的第一个字段就是描述操作执行状态的Status Code。具体的描述见Section 5.4。
7.2 Message Key Attributes in Response
        根据不同iSNSP请求,应答消息可能(MAY)包含Message Key Attributes。Message Key中通常包含操作影响对象的识别Key。
7.3 Delimiter Attribute in Response
        Delimiter Attribute分割了应答消息中的Message Key和Operating Attributes。Delimiter Attribute 是一个值为0的Tag和一个值为0的Length属性。Delimiter Attribute是8字节长:4字节的Tag值为0x00000000,和一个4字节的Length字段值为0x00000000。
7.4 Operating Attributes in Response
        Operating Attribute中包含的是原消息处理的结果。一些应答消息可能没有Operating Attribute。
7.5 Registration and Query Response Message Types
7.5.1 Device Attribute Registration Response (DevAttrRegRsp)
        DevAttrRegRsp的消息类型是0x8001。DevAttrRegRsp消息包含了相同TRANSACTION ID的DevAttrReg消息的处理结果。
        Message Key应该(SHALL)返回的是原消息的Message Key。如果iSNS服务器分配了一个EID,那么Message Key字段应该(SHALL)包含这个分配的EID。
        Operating Attribute中应该(SHALL)包含被操作确实被影响或被注册对象的Key和Non-Key属性。Operating Attribute中的Non-Key属性必须在Key属性后面。暗中注册的属性一定不要(MUST NOT)在DevAttrRegRsp消息中返回。暗中注册的属性是指那些被分配了默认值或Secondary Index值的属性。
        暗中注定的PG对象(i.e., PG objects that are not explicitly included in the registration or replace message)一定不要(MUST NOT)在DevAttrRegRsp消息中返回他们的Key和Non-Key属性。明确注册的PG对象(i.e., those with PGT values that are explicitly included in the registration or replace message)应该(SHALL)在DevAttrRegRsp消息中返回他的PGT。
        比如:原DevAttrReg消息中注册了三个Portal。由于资源短缺,iSNS服务器需要改变其中某个Portal的ESI Interval。为了完成这些,iSNS服务器在DevAttrRegRsp消息的Operating Attribute中返回这个Portal的Key属性、和更新的ESI Interval属性。
        如果iSNS服务器拒绝了一个注册消息,那么DevAttrRegRsp消息的Status Code就应该(SHALL)是3。在这个情况下,iSNS服务器可能(MAY)在Operating Attribute中返回DevAttrRsp消息中有问题的属性。
        一些属性(e.g., ESI Interval, Registration Period)的值可以(MAY)被iSNS服务器修改。只有一些属性才能这样,具体的在Section 6.1种描述。如果发生了这种情况,注册应该(SHALL)被视为成功(Status Code 3),并且被修改的值应该在应答消息的Operating Attribute中列举出来。
7.5.2 Device Attribute Query Response (DevAttrQryRsp)
        DevAttrQryRsp的消息类型是0x8002。DevAttrQryRsp消息中包含了相同TRANSECTION ID的DevAttrQry消息的操作结果。
        DevAttrQryRsp消息的Message Key应该(SHALL)返回原消息的Message Key。
        如果原消息中没有包含Operating Attribute,那么应答消息的Operating Attribute中应该(SHALL)包含所有属性。
        对于一个成功的查询,DevAttrQryRsp消息的Operating Attribute中应该(SHALL)包含原消息的查询结果。
7.5.3 Device Get Next Response (DevGetNextRsp)
        DevGetNextRsp的消息类型是0x8003。DevGetNextRsp消息中包含了相同TRANSECTION ID的DevGetNext消息的操作结果。
        Message Key中返回了原消息Message Key中指定的下一个对象的Key。
        Operating Attribute中返回了原DevGetNext消息中Operating Attribute指定的下一个对象的属性。它们的值也就是Message Key中指定对象的Key的属性值。
7.5.4 Deregister Device Response (DevDeregRsp)
        DevDeregRsp的消息类型是0x8004。它是DevDereg消息的应答消息。
        这个消息没有Message Key,但是可能(MAY)有Operating Attribute。
        但出现错误时,应答消息中包含相应的Status Code,并且没有成功注销的对象应该列在Operating Attribute中。注销不存在的对象不视为错误,所以不存在的对象不应该(SHALL)列在Operating Attribute中。
7.5.5 SCN Register Response (SCNRegRsp)
        SCNRsgRsp的消息类型是0x8005。它是SCNReg消息的应答消息。
        SCNRegRsp不包含Message Key和Operating Attribute。
7.5.6 SCN Deregister Response(SCNDeregRsp)
        SCNDeregRsp的消息类型是0x8006。它是SCNDereg消息的应答消息。
        SCNDeregRsp不包含Message Key和Operating Attribute。
7.5.7 SCN Event Response (SCNEventRsp)
        SCNEventRsp的消息类型是0x8007。它是SCNEvent消息的应答消息。
        SCNEventRsp不包含Message Key和Operating Attribute。
7.5.8 SCN Response (SCNRsp)
        SCNRsp的消息类型是0x8008。这个消息由iSNS客户端发送,提供了SCN消息的接收和处理确认信息。
        SCNRsp消息保护SCN Destination Attribute属性,它描述了接收到SCN消息的Node的Key值。
7.5.9 DD Register Response (DDRegRsp)
        DDRegRsp的消息类型是0x8009。它是DDReg消息的应答消息。
        Message Key中应该(SHALL)返回原消息的Message Key。如果原消息中没有Message Key,那么DDRegRsp消息中也不应该(SHALL)有Message Key。
        如果DDReg消息操作成功,新建或更新的DD ID应该(SHALL)在Operating Attribute中返回。
        如果DDReg消息中分配或更新的DD Symbolic Name和DD Feature属性,那么新的值应该(SHALL)在DDRegRsp消息的Operating Attribute中返回。
        如果iSNS服务器因为无效的属性值或类型,拒绝了DDReg的请求,那么Status Code应该(SHALL)是3(Invalid Registration)。在这种情况下,iSNS服务器可能在DDRegRsp消息的Operating Attribute中返回无效的属性。
7.5.10 DD Deregister Response (DDDeregRsp)
        DDDeregRsp的消息类型是0x800A。它是DDDereg消息的应答消息。
        DDDeregRsp不包含Message Key和Operating Attribute。
7.5.11 DDS Register Response (DDSRegRsp)
        DDSRegRsp的消息类型是0x800B。它是DDSReg消息的应答消息。
        Message Key中应该(SHALL)返回原消息的Message Key。如果原消息中没有Message Key,那么DDSRegRsp消息中也不应该(SHALL)有Message Key。
        如果DDSReg消息操作成功,新建或更新的DDS ID应该(SHALL)在Operating Attribute中返回。
        如果DDSReg消息中分配或更新的DDS Symbolic Name或DDS Status属性,那么新的值应该(SHALL)在DDSRegRsp消息的Operating Attribute中返回。
        如果iSNS服务器因为无效的属性值或类型,拒绝了DDSReg的请求,那么Status Code应该(SHALL)是3(Invalid Registration)。在这种情况下,iSNS服务器可能在DDSRegRsp消息的Operating Attribute中返回无效的属性。
7.5.12 DDS Deregister Response (DDSDeregRsp)
        DDSDeregRsp的消息类型是0x800C。它是DDSDereg消息的应答消息。
        DDSDeregRsp不包含Message Key和Operating Attribute。
7.5.13 Entity Status Inquiry Response (ESIRsp)
        ESIRsp的消息类型是0x800D。它由iSNS客户端发送,提供了ESI消息被接收和处理的确认信息。
        ESIRsp消息中包含了原ESI消息的属性。描述Portal的属性作为应答ESI的属性。ESIRsp属性的顺序与原消息的顺序一致。
        当受到iSNS客户端发过来的ESIRsp消息,iSNS服务器应该(SHALL)更新Portal和Network Entity的Timestamp属性。
7.5.14 Request FC_DOMAIN_ID Response (RqstDomIdRsp)
        RqstDomIdRsp的消息类型是0x8011。
7.5.15 Release FC_DOMAIN_ID Response (RlseDomIdRsp)
        RlseDomIdRsp的消息类型是0x8012。
7.5.16 Get FC_DOMAIN_IDs Response (GetDomIdRsp)
        GetDomIdRsp的消息类型是0x8013。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值