Claims
- 1. A method for processing foreign protocol requests across a system area network, the method comprising:
receiving a request from a device utilizing a protocol which is foreign to a protocol utilized by the system area network; encapsulating the request in a data packet; and sending the data packet to a requested node via the system area network fabric.
- 2. The method as recited in claim 1, wherein the request is a first request, the data packet is a first data packet, and the sending the data packet comprises sending the data packet on a first virtual lane, and further comprising:
receiving a second request from a device utilizing a protocol which is foreign to the protocol utilized by the system area network; encapsulating the second request in a second data packet; and responsive to a determination that the first and second requests are to be kept in order, sending the second data packet to a requested node via the first virtual lane on the system area network fabric.
- 3. The method as recited in claim 1, wherein the request is a first request, the data packet is a first data packet, and the sending the data packet comprises sending the data packet on a first virtual lane, and further comprising:
receiving a second request from a device utilizing a protocol which is foreign to the protocol utilized by the system area network; encapsulating the second request in a second data packet; and responsive to a determination that the first and second requests should be able to bypass the other, sending the second data packet to a requested node via a second virtual lane on the system area network fabric.
- 4. The method as recited in claim 1, wherein the request is an interrupt received by a target channel adapter and further comprising:
receiving the data packet, at a host channel adapter, and decoding the data packet to retrieve the interrupt; and interrupting the processor.
- 5. The method as recited in claim 4, wherein the data packet is a first data packet and further comprising:
receiving, at the host channel adapter, an end of interrupt instruction; encapsulating the end of interrupt instruction into a second data packet; and transmitting the second data packet to the target channel adapter via the system area network fabric.
- 6. The method as recited in claim 5, further comprising:
receiving the second data packet; decoding the second data packet to determine that the interrupt is complete.
- 7. The method as recited in claim 1, wherein the foreign protocol is a peripheral component interconnect bus protocol.
- 8. The method as recited in claim 1, further comprising:
receiving, at the requested node, the data packet; decoding the data packet to obtain the foreign protocol request; and transmitting the foreign protocol request to an appropriate device.
- 9. The method as recited in claim 1, wherein the steps of receiving a request, encapsulating the request, and sending the data packet are performed by a host channel adapter.
- 10. The method as recited in claim 1, wherein the requested node is a target channel adapter.
- 11. The method as recited in claim 8, wherein the steps of receiving, at the requested node, the data packet, decoding the data packet, and transmitting the foreign protocol request are performed by a target channel adapter.
- 12. The method as recited in claim 8, wherein the steps of receiving, at the requested node, the data packet, decoding the data packet, and transmitting the foreign protocol request are performed by a host channel adapter.
- 13. The method as recited in claim 8, wherein the step of transmitting the foreign protocol request comprises converting the request to an appropriate host transaction.
- 14. The method as recited in claim 1, wherein the steps of receiving a request, encapsulating the request, and sending the data packet are performed by a target channel adapter.
- 15. The method as recited in claim 1, wherein the requested node is a host channel adapter.
- 16. The method as recited in claim 1, wherein the step of encapsulating the foreign protocol request comprises placing the request into a data packet with appropriate headers and trailers in the data packet to ensure that the data packet is delivered across the system area network fabric to the requested node.
- 17. The method as recited in claim 8, wherein the step of decoding the data packet comprises determining that the data packet contains a foreign protocol request and removing the foreign protocol request from the data packet.
- 18. A method for processing foreign protocol requests across a system area network, the method comprising:
receiving a data packet from a system area network fabric; determining that the data packet contains an encapsulated foreign protocol transmission; decoding the data packet to obtain the foreign protocol transmission; and sending the foreign protocol transmission to a requested device.
- 19. The method as recited in claim 18, wherein the foreign protocol is a peripheral component interconnect bus protocol.
- 20. The method as recited in claim 18, wherein the requested device is an input/output adapter.
- 21. The method as recited in claim 18, wherein the steps of receiving, determining, decoding, and sending are performed by a target channel adapter.
- 22. The method as recited in claim 18, wherein the steps of receiving, determining, decoding, and sending are performed by a host channel adapter.
- 23. The method as recited in claim 22, wherein the step of sending comprises converting the foreign protocol request to an appropriate host transaction.
- 24. A computer program product in a computer readable media for use in a networked data processing system for processing foreign protocol requests across a system area network, the computer program product comprising:
first instructions for receiving a request from a device utilizing a protocol which is foreign to a protocol utilized by the system area network; second instructions for encapsulating the request in a data packet; and third instructions for sending the data packet to a requested node via the system area network fabric.
- 25. The computer program product as recited in claim 24, wherein the request is a first request, the data packet is a first data packet, and the sending the data packet comprises sending the data packet on a first virtual lane, and further comprising:
fourth instructions for receiving a second request from a device utilizing a protocol which is foreign to the protocol utilized by the system area network; fifth instructions for encapsulating the second request in a second data packet; and sixth instructions, responsive to a determination that the first and second requests are to be kept in order, for sending the second data packet to a requested node via the first virtual lane on the system area network fabric.
- 26. The computer program product as recited in claim 24, wherein the request is a first request, the data packet is a first data packet, and the sending the data packet comprises sending the data packet on a first virtual lane, and further comprising:
fourth instructions for receiving a second request from a device utilizing a protocol which is foreign to the protocol utilized by the system area network; fifth instructions for encapsulating the second request in a second data packet; and sixth instructions, responsive to a determination that the first and second requests should be able to bypass the other, for sending the second data packet to a requested node via a second virtual lane on the system area network fabric.
- 27. The computer program product as recited in claim 24, wherein the request is an interrupt received by a target channel adapter and further comprising:
fourth instructions for receiving the data packet, at a host channel adapter, and decoding the data packet to retrieve the interrupt; and fifth instructions for interrupting the processor.
- 28. The computer program product as recited in claim 27, wherein the data packet is a first data packet and further comprising:
sixth instructions for receiving, at the host channel adapter, an end of interrupt instruction; seventh instructions for encapsulating the end of interrupt instruction into a second data packet; and eighth instructions for transmitting the second data packet to the target channel adapter via the system area network fabric.
- 29. The computer program product as recited in claim 28, further comprising:
ninth instructions for receiving the second data packet; tenth instructions for decoding the second data packet to determine that the interrupt is complete.
- 30. The computer program product as recited in claim 24, wherein the foreign protocol is a peripheral component interconnect bus protocol.
- 31. The computer program product as recited in claim 24, further comprising:
fourth instructions for receiving, at the requested node, the data packet; fifth instructions for decoding the data packet to obtain the foreign protocol request; and sixth instructions for transmitting the foreign protocol request to an appropriate device.
- 32. The computer program product as recited in claim 24, wherein the steps of receiving a request, encapsulating the request, and sending the data packet are performed by a host channel adapter.
- 33. The computer program product as recited in claim 24, wherein the requested node is a target channel adapter.
- 34. The computer program product as recited in claim 31, wherein the instructions for receiving, at the requested node, the data packet, decoding the data packet, and transmitting the foreign protocol request are performed by a target channel adapter.
- 35. The computer program product as recited in claim 31, wherein the instructions for receiving, at the requested node, the data packet, decoding the data packet, and transmitting the foreign protocol request are performed by a host channel adapter.
- 36. The computer program product as recited in claim 31, wherein the instructions for transmitting the foreign protocol request comprises converting the request to an appropriate host transaction.
- 37. The computer program product as recited in claim 24, wherein the instructions for receiving a request, encapsulating the request, and sending the data packet are performed by a target channel adapter.
- 38. The computer program product as recited in claim 24, wherein the requested node is a host channel adapter.
- 39. The computer program product as recited in claim 24, wherein the instructions for encapsulating the foreign protocol request comprises placing the request into a data packet with appropriate headers and trailers in the data packet to ensure that the data packet is delivered across the system area network fabric to the requested node.
- 40. The computer program product as recited in claim 31, wherein the instructions for decoding the data packet comprises determining that the data packet contains a foreign protocol request and removing the foreign protocol request from the data packet.
- 41. A computer program product in a computer readable media for use in a data processing system for processing foreign protocol requests across a system area network, the computer program product comprising:
first instructions for receiving a data packet from a system area network fabric; second instructions for determining that the data packet contains an encapsulated foreign protocol transmission; third instructions for decoding the data packet to obtain the foreign protocol transmission; and fourth instructions for sending the foreign protocol transmission to a requested device.
- 42. The computer program product as recited in claim 41, wherein the foreign protocol is a peripheral component interconnect bus protocol.
- 43. The computer program product as recited in claim 41, wherein the requested device is an input/output adapter.
- 44. The computer program product as recited in claim 41, wherein the instructions for receiving, determining, decoding, and sending are performed by a target channel adapter.
- 45. The computer program product as recited in claim 41, wherein the instructions for receiving, determining, decoding, and sending are performed by a host channel adapter.
- 46. The computer program product as recited in claim 45, wherein the instructions for sending comprises converting the foreign protocol request to an appropriate host transaction.
- 47. A system for processing foreign protocol requests across a system area network, the system comprising:
first means for receiving a request from a device utilizing a protocol which is foreign to a protocol utilized by the system area network; second means for encapsulating the request in a data packet; and third means for sending the data packet to a requested node via the system area network fabric.
- 48. The system as recited in claim 47, wherein the request is a first request, the data packet is a first data packet, and the sending the data packet comprises sending the data packet on a first virtual lane, and further comprising:
fourth means for receiving a second request from a device utilizing a protocol which is foreign to the protocol utilized by the system area network; fifth means for encapsulating the second request in a second data packet; and sixth means, responsive to a determination that the first and second requests are to be kept in order, for sending the second data packet to a requested node via the first virtual lane on the system area network fabric.
- 49. The system as recited in claim 47, wherein the request is a first request, the data packet is a first data packet, and the sending the data packet comprises sending the data packet on a first virtual lane, and further comprising:
fourth means for receiving a second request from a device utilizing a protocol which is foreign to the protocol utilized by the system area network; fifth means for encapsulating the second request in a second data packet; and sixth means, responsive to a determination that the first and second requests should be able to bypass the other, for sending the second data packet to a requested node via a second virtual lane on the system area network fabric.
- 50. The system as recited in claim 47, wherein the request is an interrupt received by a target channel adapter and further comprising:
fourth means for receiving the data packet, at a host channel adapter, and decoding the data packet to retrieve the interrupt; and fifth means for interrupting the processor.
- 51. The system as recited in claim 50, wherein the data packet is a first data packet and further comprising:
sixth means for receiving, at the host channel adapter, an end of interrupt instruction; seventh means for encapsulating the end of interrupt instruction into a second data packet; and eighth means for transmitting the second data packet to the target channel adapter via the system area network fabric.
- 52. The system as recited in claim 51, further comprising:
ninth means for receiving the second data packet; tenth means for decoding the second data packet to determine that the interrupt is complete.
- 53. The system as recited in claim 47, wherein the foreign protocol is a peripheral component interconnect bus protocol.
- 54. The system as recited in claim 47, further comprising:
fourth means for receiving, at the requested node, the data packet; fifth means for decoding the data packet to obtain the foreign protocol request; and sixth means for transmitting the foreign protocol request to an appropriate device.
- 55. The system as recited in claim 47, wherein the steps of receiving a request, encapsulating the request, and sending the data packet are performed by a host channel adapter.
- 56. The system as recited in claim 47, wherein the requested node is a target channel adapter.
- 57. The system as recited in claim 54, wherein the means for receiving, at the requested node, the data packet, decoding the data packet, and transmitting the foreign protocol request are performed by a target channel adapter.
- 58. The system as recited in claim 54, wherein the means for receiving, at the requested node, the data packet, decoding the data packet, and transmitting the foreign protocol request are performed by a host channel adapter.
- 59. The system as recited in claim 54, wherein the means for transmitting the foreign protocol request comprises converting the request to an appropriate host transaction.
- 60. The system as recited in claim 47, wherein the means for receiving a request, encapsulating the request, and sending the data packet are performed by a target channel adapter.
- 61. The system as recited in claim 47, wherein the requested node is a host channel adapter.
- 62. The system as recited in claim 47, wherein the means for encapsulating the foreign protocol request comprises placing the request into a data packet with appropriate headers and trailers in the data packet to ensure that the data packet is delivered across the system area network fabric to the requested node.
- 63. The system as recited in claim 54, wherein the means for decoding the data packet comprises determining that the data packet contains a foreign protocol request and removing the foreign protocol request from the data packet.
- 64. A system for processing foreign protocol requests across a system area network, the system comprising:
first means for receiving a data packet from a system area network fabric; second means for determining that the data packet contains an encapsulated foreign protocol transmission; third means for decoding the data packet to obtain the foreign protocol transmission; and fourth means for sending the foreign protocol transmission to a requested device.
- 65. The system as recited in claim 64, wherein the foreign protocol is a peripheral component interconnect bus protocol.
- 66. The system as recited in claim 64, wherein the requested device is an input/output adapter.
- 67. The system as recited in claim 64, wherein the means for receiving, determining, decoding, and sending are performed by a target channel adapter.
- 68. The system as recited in claim 64, wherein the means for receiving, determining, decoding, and sending are performed by a host channel adapter.
- 69. The system as recited in claim 68, wherein the means for sending comprises converting the foreign protocol request to an appropriate host transaction.
Cross References to Related Applications and Patents
[0001] The present invention is related to applications entitled A System Area Network of End-to-End Context via Reliable Datagram Domains, serial no. ______, attorney docket no. AUS9-2000-0625-US1, filed ______; Method and Apparatus for Pausing a Send Queue without Causing Sympathy Errors, serial no. ______, attorney docket no. AUS9-2000-0626-US1, filed ______; Method and Apparatus to Perform Fabric Management, serial no. ______, attorney docket no. AUS9-2000-0627-US1, filed ______; End Node Partitioning using LMC for a System Area Network, serial no. ______, attorney docket no. AUS9-2000-0628-US1, filed ______; Method and Apparatus for Dynamic Retention of System Area Network Management Information in Non-Volatile Store, serial no. ______, attorney docket no. AUS9-2000-0629-US1, filed ______; Method and Apparatus for Retaining Network Security Settings Across Power Cycles, serial no. ______, attorney docket no. AUS9-2000-0630-US1, filed ______; serial no. ______, attorney docket no. AUS9-2000-0631-US1, filed ______; Method and Apparatus for Reliably Choosing a Master Network Manager During Initialization of a Network Computing System, serial no. ______, attorney docket no. AUS9-2000-0632-US1, filed ______; Method and Apparatus for Ensuring Scalable Mastership During Initialization of a System Area Network, serial no. ______, attorney docket no. AUS9-2000-0633-US1 filed ______; and Method and Apparatus for Using a Service ID for the Equivalent of a Port ID in a Network Computing System, serial no. ______, attorney docket no. AUS9-2000-0634-US1 filed ______, all of which are assigned to the same assignee, and incorporated herein by reference.