Method, system, and program for constructing a packet
First Claim
Patent Images
1. A method for constructing a packet comprising:
- receiving a request to construct one packet, including information on at least one header and a payload to include in the packet;
generating the at least one header for the received request;
writing the generated at least one header in a first queue;
requesting the payload to include in the packet;
writing the received payload to a second queue;
reading the generated at least one header and payload from the first and second queues;
including the read at least one header and payload in the packet;
in response to constructing one packet, determining whether all headers and payload for a next packet according to a packet ordering are buffered in the first and second queues; and
constructing the next packet in response to determining that all headers and payload for the next packet are buffered in the first and second queues.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a method, system, and program for constructing a packet. A request to construct one packet is received, including information on at least one header and a payload to include in the packet. The at least one header for the received request is generated and the generated at least one header is written in a first queue. The payload is requested to include in the packet and the received payload is written to a second queue. The generated at least one header and payload are read from the first and second queues and the read at least one header and payload are included in the packet.
14 Citations
34 Claims
-
1. A method for constructing a packet comprising:
-
receiving a request to construct one packet, including information on at least one header and a payload to include in the packet; generating the at least one header for the received request; writing the generated at least one header in a first queue; requesting the payload to include in the packet; writing the received payload to a second queue; reading the generated at least one header and payload from the first and second queues; including the read at least one header and payload in the packet; in response to constructing one packet, determining whether all headers and payload for a next packet according to a packet ordering are buffered in the first and second queues; and constructing the next packet in response to determining that all headers and payload for the next packet are buffered in the first and second queues. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for constructing a packet comprising:
-
receiving a request to construct one packet, including information on at least one header and a payload to include in the packet; generating the at least one header for the received request; writing the generated at least one header in a first queue; requesting the payload to include in the packet; writing the received payload to a second queue; reading the generated at least one header and payload from the first and second queues, wherein writing the at least one header to the first queue, writing the payload to the second queue, and reading the at least one header and payload from the first and second queues are performed in different clock domains; and including the read at least one header and payload in the packet. - View Dependent Claims (10)
-
-
11. A method for constructing a packet comprising:
-
receiving a request to construct one packet, including information on at least one header and a payload to include in the packet; generating the at least one header for the received request; writing the generated at least one header in a first queue; requesting the payload to include in the packet; writing the received payload to a second queue; reading the generated at least one header and payload from the first and second queues; including the read at least one header and payload in the packet; queuing a work request including the request to construct the packet in a send queue that is in one of a plurality of queue pairs, wherein each queue pair includes one send queue and one receive queue; and interpreting the work request to determine the at least one header and payload for the packet to construct, wherein the determined at least one header is generated and the determined payload is requested.
-
-
12. A channel adaptor, wherein the channel adaptor includes logic to enable the channel adaptor to perform:
-
receive a request to construct one packet, including information on at least one header and a payload to include in the packet; generate the at least one header for the received request; write the generated at least one header in a first queue; request the payload to include in the packet; write the received payload to a second queue; read the generated at least one header and payload from the first and second queues; include the read at least one header and payload in the packet; in response to constructing one packet, determining whether all headers and payload for a next packet according to a packet ordering are buffered in the first and second queues; and constructing the next packet in response to determining that all headers and payload for the next packet are buffered in the first and second queues. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A system, comprising:
-
a host processor; a magnetic storage medium; a memory in communication with the host processor and including a payload to transmit in a packet, wherein a copy of the payload is stored in the magnetic storage medium; and a channel adaptor in communication with the memory, wherein the channel adaptor includes logic to enable the channel adaptor to perform; receiving a request to construct one packet, including information on at least one header and a payload to include in the packet; generating the at least one header for the received request; writing the generated at least one header in a first queue; requesting the payload to include in the packet; writing the received payload to a second queue; reading the generated at least one header and payload from the first and second queues; including the read at least one header and payload in the packet; in response to constructing one packet, determining whether all headers and payload for a next packet according to a packet ordering are buffered in the first and second queues; and constructing the next packet in response to determining that all headers and payload for the next packet are buffered in the first and second queues. - View Dependent Claims (23)
-
-
24. An article of manufacture comprising at least one of a hardware device having hardware logic and a computer readable storage medium having computer executable codes for performing operations to construct a packet, the operations comprising:
-
receiving a request to construct one packet, including information on at least one header and a payload to include in the packet; generating the at least one header for the received request; writing the generated at least one header in a first queue; requesting the payload to include in the packet; writing the received payload to a second queue; reading the generated at least one header and payload from the first and second queues; including the read at least one header and payload in the packet; in response to constructing one packet, determining whether all headers and payload for a next packet according to a packet ordering are buffered in the first and second queues; and constructing the next packet in response to determining that all headers and payload for the next packet are buffered in the first and second queues. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. An article of manufacture comprising at least one of a hardware device having hardware logic and a computer readable storage medium having computer executable codes for performing operations to construct a packet, the operations comprising:
-
receiving a request to construct one packet, including information on at least one header and a payload to include in the packet; generating the at least one header for the received request; writing the generated at least one header in a first queue; requesting the payload to include in the packet; writing the received payload to a second queue; reading the generated at least one header and payload from the first and second queues; including the read at least one header and payload in the packet; queuing a work request including the request to construct the packet in a send queue that is in one of a plurality of queue pairs, wherein each queue pair includes one send queue and one receive queue; and interpreting the work request to determine the at least one header and payload for the packet to construct, wherein the determined at least one header is generated and the determined payload is requested.
-
Specification