Subject: [rddp] ULP error codes

From: Renato Recio <[email-masked]>
Date: Tue, 4 Feb 2003 10:31:12 -0600

Folks,

  The RDMA specification (-01) does not expose the terminate message to the
ULP, because ULPs have their own mechanism for communicating ULP level
errors between the two ends of a ULP Stream.

   The layer performing the RDMAP layer is not a ULP, but will likely have
additional, local, functionality beyond the function performed by the
RDMAP.  For example, if the RDMAP (and lower) layer(s) are implemented on
an RNIC, the RNIC may have additional error codes that are not captured by
the RDMAP layer error codes currently in the specification, such as an
error associated with an invalid state that is internal to the RNIC.  These
additional error codes would convey diagnostic/debug information that would
be useful at both ends of the RDMA Stream being terminated.

   I would like to propose that we use value 1111b of the terminate layer
field for RNIC related error types and codes.  I would also like to propose
that we state the error type and error code fields are reserved for use by
the RNIC when the layer is 1111b.

Thanks,

Renato J Recio
IBM Distinguished Engineer
Member IBM Academy of Technology
IBM I/O Architecture and Technology
Tel 512-838-3685, T/L 678-3685

_______________________________________________
rddp mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rddp

---

From: "Hilland, Jeff" <[email-masked]>
Date: Wed, 5 Feb 2003 15:03:05 -0600

As you noted, ULPs which are terminating should have their own
termination mechanism and so don't need the codes.
I don't believe that the RNIC error codes below are necessary either.
They certainly would not be uniform across implementations.  

I believe that the Catastrophic Error code covers these classes of
errors.

Regards,
Jeff Hilland

-----Original Message-----
From: Renato Recio [mailto:[email-masked]] 
Sent: Tuesday, February 04, 2003 10:31 AM
To: [email-masked]
Subject: [rddp] ULP error codes

Folks,

  The RDMA specification (-01) does not expose the terminate message to
the ULP, because ULPs have their own mechanism for communicating ULP
level errors between the two ends of a ULP Stream.

   The layer performing the RDMAP layer is not a ULP, but will likely
have additional, local, functionality beyond the function performed by
the RDMAP.  For example, if the RDMAP (and lower) layer(s) are
implemented on an RNIC, the RNIC may have additional error codes that
are not captured by the RDMAP layer error codes currently in the
specification, such as an error associated with an invalid state that is
internal to the RNIC.  These additional error codes would convey
diagnostic/debug information that would be useful at both ends of the
RDMA Stream being terminated.

   I would like to propose that we use value 1111b of the terminate
layer field for RNIC related error types and codes.  I would also like
to propose that we state the error type and error code fields are
reserved for use by the RNIC when the layer is 1111b.

Thanks,

Renato J Recio

---

From: Renato Recio <[email-masked]>
Date: Wed, 5 Feb 2003 15:45:24 -0600

I agree with you.

I'd suggest covering other RDMA layer errors that can happen as follows:

1.  Any errors that don't fall into the category of remote protection and
remote operation error, do as you said.  That is, surface them as Local
Catastrophic Errors.
2.  Create one new error code to cover Miscallaneous Remote Protection
Errors:
      Misc for Remote Protection Errors:
         Layer = 0x RDMA
         Type = 1x Remote Protection Error
         Code = FFx Miscallaneous
3.  Create one new error code to cover Miscallaneous Remote Operation
Errors:
      Misc for Remote Operation Errors:
         Layer = 0x RDMA
         Type = 2x Remote Operation Error
         Code = FFx Miscallaneous

Additionally, I'd suggest adding a new Remote Operation Error error code to
cover the case where a Send with Invalidate is received from the remote
peer, but the STag cannot be Invalidated because it is in a state where
invalidation cannot be performed.  Following is the new error code for this
case:

         Layer = 0x RDMA
         Type = 2x Remote Operation Error
         Code = 09x STag cannot be Invalidated

Thanks,

Renato J Recio

                      "Hilland, Jeff"                                                                                   
                      <Jeff.Hilland@hp.        To:       <[email-masked]>                                                
                      com>                     cc:                                                                      
                      Sent by:                 Subject:  RE: [rddp] ULP error codes                                     
                      [email-masked]                                                                                 
                      rg                                                                                                

                      02/05/2003 03:03                                                                                  
                      PM                                                                                                

Regards,
Jeff Hilland

-----Original Message-----
From: Renato Recio [mailto:[email-masked]]
Sent: Tuesday, February 04, 2003 10:31 AM
To: [email-masked]
Subject: [rddp] ULP error codes

Folks,

Thanks,

Renato J Recio

---

From: "Hilland, Jeff" <[email-masked]>
Date: Wed, 5 Feb 2003 16:31:16 -0600

Clearly there is a need for the "STag cannot be invalidated" error,
since this is a Remote Error covered by the STag to be Invalidated,
which is part of the protocol.  But this could be a Remote Protection
Error if the STag existed but was not valid on the given stream.  So we
certainly need (0x, 1x, 09x or 0109x).  If the STag doesn't exist, then
you would have the Remote Operation Error.

I like the Miscellaneous category.

Regards,
Jeff

-----Original Message-----
From: Renato Recio [mailto:[email-masked]] 
Sent: Wednesday, February 05, 2003 3:45 PM
To: Hilland, Jeff
Cc: [email-masked]
Subject: RE: [rddp] ULP error codes

I agree with you.

1.  Any errors that don't fall into the category of remote protection
and remote operation error, do as you said.  That is, surface them as
Local Catastrophic Errors. 2.  Create one new error code to cover
Miscallaneous Remote Protection
Errors:
      Misc for Remote Protection Errors:
         Layer = 0x RDMA
         Type = 1x Remote Protection Error
         Code = FFx Miscallaneous
3.  Create one new error code to cover Miscallaneous Remote Operation
Errors:
      Misc for Remote Operation Errors:
         Layer = 0x RDMA
         Type = 2x Remote Operation Error
         Code = FFx Miscallaneous

Additionally, I'd suggest adding a new Remote Operation Error error code
to cover the case where a Send with Invalidate is received from the
remote peer, but the STag cannot be Invalidated because it is in a state
where invalidation cannot be performed.  Following is the new error code
for this
case:

         Layer = 0x RDMA

Thanks,

Renato J Recio

                      "Hilland, Jeff"

                      com>                     cc:

                      Sent by:                 Subject:  RE: [rddp] ULP
error codes                                     
                      [email-masked]

                      rg

                      02/05/2003 03:03

                      PM

As you noted, ULPs which are terminating should have their own
termination mechanism and so don't need the codes. I don't believe that
the RNIC error codes below are necessary either. They certainly would
not be uniform across implementations.

Regards,
Jeff Hilland

-----Original Message-----
From: Renato Recio [mailto:[email-masked]]
Sent: Tuesday, February 04, 2003 10:31 AM
To: [email-masked]
Subject: [rddp] ULP error codes

Folks,

Thanks,

Renato J Recio

---

From: Renato Recio <[email-masked]>
Date: Thu, 6 Feb 2003 08:52:56 -0600

Sounds good,  I plan to add the following new error codes:

         Layer = 0x RDMA
         Type = 1x Remote Protection Error
         Code = 09x (Name = STag cannot be Invalidated)
         Code = FFx (Name = Miscallaneous)

         Layer = 0x RDMA
         Type = 2x Remote Operation Error
         Code = 09x (Name = STag cannot be Invalidated)
         Code = FFx (Name = Miscallaneous)

Thanks,

Renato J Recio

                      "Hilland, Jeff"                                                                                   

                      02/05/2003 04:31                                                                                  
                      PM                                                                                                

Regards,
Jeff

-----Original Message-----
From: Renato Recio [mailto:[email-masked]]
Sent: Wednesday, February 05, 2003 3:45 PM
To: Hilland, Jeff
Cc: [email-masked]
Subject: RE: [rddp] ULP error codes

I agree with you.

         Layer = 0x RDMA

Thanks,

Renato J Recio

                      "Hilland, Jeff"

                      com>                     cc:

                      rg

                      02/05/2003 03:03

                      PM

Regards,
Jeff Hilland

-----Original Message-----
From: Renato Recio [mailto:[email-masked]]
Sent: Tuesday, February 04, 2003 10:31 AM
To: [email-masked]
Subject: [rddp] ULP error codes

Folks,

Thanks,

Renato J Recio